$folder =~ /^($bannedF[$_]).*/; return BANNED if ($1); #### use strict; use warnings; # Global variables: use vars qw ( @BANNED $INC_SUBDIRS ); @BANNED = qw ( . .. c:/perl/progs c:/winnt/system32 d: ); $INC_SUBDIRS = 1; # change to 0 or '' to turn off print "Enter a full pathname: "; chomp ( my $dir = <> ); # Remove trailing slashes: $dir =~ s{[/\\]+$}{}g; ; print "Verboten!" and exit if is_banned( $dir ); # Just for testing: opendir DIR, $dir or die "can't opendir $dir: $!"; print "$_\n" for readdir DIR; closedir DIR; sub is_banned { my $folder = lc shift; # lc for lower case for ( @BANNED ) { return 1 if $folder eq $_; if ( $INC_SUBDIRS ) { return 1 if $folder =~ /^$_\//; } } }