open F, '<', $in_file or die "Can't open $in_file: $!"; #### while () { push @lines, $_ unless /espf\[/ } #### return undef if not defined $in_file; if (-e $in_file) { if (-r $in_file) { open F, "<", $in_file or die "Can't open $in_file: $!" # etc } else { warn "can't read $in_file\n"; return undef; } } else { warn "bad file $in_file submitted, but does not exist\n"; } #### $ myprogram file1 file2 file3 #### while (<>) { # do something with $_ }