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"; }