use File::Random qw/:all/; $dir = "E:\\"; my $file = random_file( -dir => $dir, -check => qr/.../, # or sub { .... } -recursive => 1 # or 0 ); print $file; OUTPUT:Can't stat E:: No such file or directory at C:/Perl/site/lib/File/Random.pm line 121