sub open_file { my ($mode, $file) = @_; my $fh = gensym(); open $fh, "$mode$file" or croak("could not open '$file': $!"); return \*$fh; } #### my $LOG = open_file('<','log.txt'); while(<$LOG>) { print; }