sub checkit { my ($tests, $filename) = @_; my %TestCode=( "-e" => sub{-e $_[0] } , "-w" => sub{-w $_[0] } , "-d" => sub{-d $_[0] } , ); my @testList = split ",", $tests; for (@testList){ exists $TestCode{$_} or return 0; $TestCode{$_}->($filename) or return 0; } return 1; # Passed all tests }