This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
toke.c: move leftbracket label
[perl5.git] / lib / SelectSaver.pm
index 5f56922..b67adff 100644 (file)
@@ -1,5 +1,7 @@
 package SelectSaver;
 
+our $VERSION = '1.02';
+
 =head1 NAME
 
 SelectSaver - save and restore selected file handle
@@ -9,13 +11,13 @@ SelectSaver - save and restore selected file handle
     use SelectSaver;
 
     {
-       my $saver = new SelectSaver(FILEHANDLE);
+       my $saver = SelectSaver->new(FILEHANDLE);
        # FILEHANDLE is selected
     }
     # previous handle is selected
 
     {
-       my $saver = new SelectSaver;
+       my $saver = SelectSaver->new;
        # new handle may be selected, or not
     }
     # previous handle is selected
@@ -37,16 +39,16 @@ use Carp;
 use Symbol;
 
 sub new {
-    @_ >= 1 && @_ <= 2 or croak 'usage: new SelectSaver [FILEHANDLE]';
+    @_ >= 1 && @_ <= 2 or croak 'usage: SelectSaver->new( [FILEHANDLE] )';
     my $fh = select;
-    my $self = bless [$fh], $_[0];
+    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;