X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSelectSaver.pm;h=1207b88a4a29c69eb5b298edd550f1a948403323;hb=dfa4e5d386dd8c5329351699b02085856cdd140e;hp=4c764bedcf14113b680933e06ac0da85f45ba01e;hpb=c07a80fdfe3926b5eb0585b674aa5d1f57b32ade;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/SelectSaver.pm b/lib/SelectSaver.pm index 4c764be..1207b88 100644 --- a/lib/SelectSaver.pm +++ b/lib/SelectSaver.pm @@ -1,5 +1,7 @@ package SelectSaver; +our $VERSION = '1.01'; + =head1 NAME SelectSaver - save and restore selected file handle @@ -38,13 +40,15 @@ use Symbol; sub new { @_ >= 1 && @_ <= 2 or croak 'usage: new SelectSaver [FILEHANDLE]'; - my $fh = (@_ > 1) ? (select qualify($_[1], caller)) : select; - bless [$fh], $_[0]; + my $fh = select; + my $self = bless \$fh, $_[0]; + select qualify($_[1], caller) if @_ > 1; + $self; } sub DESTROY { - my $this = $_[0]; - select $$this[0]; + my $self = $_[0]; + select $$self; } 1;