Rashed Abdel-Tawab | 4db47f4 | 2019-09-06 10:38:22 -0700 | [diff] [blame] | 1 | package SelectSaver; |
2 | |||||
3 | our $VERSION = '1.02'; | ||||
4 | |||||
5 | require 5.000; | ||||
6 | use Carp; | ||||
7 | use Symbol; | ||||
8 | |||||
9 | sub new { | ||||
10 | @_ >= 1 && @_ <= 2 or croak 'usage: SelectSaver->new( [FILEHANDLE] )'; | ||||
11 | my $fh = select; | ||||
12 | my $self = bless \$fh, $_[0]; | ||||
13 | select qualify($_[1], caller) if @_ > 1; | ||||
14 | $self; | ||||
15 | } | ||||
16 | |||||
17 | sub DESTROY { | ||||
18 | my $self = $_[0]; | ||||
19 | select $$self; | ||||
20 | } | ||||
21 | |||||
22 | 1; |