[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/ -> SelectSaver.pm (source)

   1  package SelectSaver;
   2  
   3  our $VERSION = '1.01';
   4  
   5  =head1 NAME
   6  
   7  SelectSaver - save and restore selected file handle
   8  
   9  =head1 SYNOPSIS
  10  
  11      use SelectSaver;
  12  
  13      {
  14         my $saver = new SelectSaver(FILEHANDLE);
  15         # FILEHANDLE is selected
  16      }
  17      # previous handle is selected
  18  
  19      {
  20         my $saver = new SelectSaver;
  21         # new handle may be selected, or not
  22      }
  23      # previous handle is selected
  24  
  25  =head1 DESCRIPTION
  26  
  27  A C<SelectSaver> object contains a reference to the file handle that
  28  was selected when it was created.  If its C<new> method gets an extra
  29  parameter, then that parameter is selected; otherwise, the selected
  30  file handle remains unchanged.
  31  
  32  When a C<SelectSaver> is destroyed, it re-selects the file handle
  33  that was selected when it was created.
  34  
  35  =cut
  36  
  37  require 5.000;
  38  use Carp;
  39  use Symbol;
  40  
  41  sub new {
  42      @_ >= 1 && @_ <= 2 or croak 'usage: new SelectSaver [FILEHANDLE]';
  43      my $fh = select;
  44      my $self = bless \$fh, $_[0];
  45      select qualify($_[1], caller) if @_ > 1;
  46      $self;
  47  }
  48  
  49  sub DESTROY {
  50      my $self = $_[0];
  51      select $$self;
  52  }
  53  
  54  1;


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1