sub is_tainted { return ! eval { eval("#" . substr(join("", @_), 0, 0)); 1 }; } opendir my $dot_fh, '.' or die "Can't opendir .: $!"; my ($any_file) = readdir $dot_fh; closedir $dot_fh; print "tainted\n" if is_tainted( $any_file );