| August 1999 | Return to the Perl Hardware Store | Slide #12 |
package IO::Remembers;
sub new {
my ($pack, $filename) = @_;
my $fh = \do { local *FH }; # Incantation
open $fh, $filename or return;
bless $fh => $pack;
}
People can use this object just like a filehandle:
my $fh = new IO::Remembers ('input');
my $line = <$fh>;
read $fh, $bytes, 1024;
print $fh "Actually this filehandle was opened for reading only...\n";
close $fh;
It closes automatically when it is destroyed.
| Next | ![]() |
Copyright © 1999 M-J. Dominus |