This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Reduce SelectSaver memory footprint
[perl5.git] / lib / SelectSaver.pm
index 1207b88..8899495 100644 (file)
@@ -1,6 +1,6 @@
 package SelectSaver;
 
-our $VERSION = '1.01';
+our $VERSION = '1.03';
 
 =head1 NAME
 
@@ -11,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
@@ -35,11 +35,10 @@ that was selected when it was created.
 =cut
 
 require 5.000;
-use Carp;
-use Symbol;
+use Symbol q{qualify};
 
 sub new {
-    @_ >= 1 && @_ <= 2 or croak 'usage: new SelectSaver [FILEHANDLE]';
+    @_ >= 1 && @_ <= 2 or do { require Carp; Carp::croak('usage: SelectSaver->new( [FILEHANDLE] )') };
     my $fh = select;
     my $self = bless \$fh, $_[0];
     select qualify($_[1], caller) if @_ > 1;