sub find_hash_core { my $dir = './'; opendir my $dirh, $dir or die "$dir: $!\n"; # if you need the current workdir, see Cwd how to retrieve that and restore it later chdir $dir; my @files = grep { -f $_ } readdir $dirh; for ( @files ) { if ( m/1234yourhashvalue/ ) { print "found hash"; } #### my @files = grep { -f $_ && m/1234yourhashvalue/ } readdir $dirh; #### chdir $dir; my @files = glob( "*.1234yourhashvalue" ); #### my @files = qx{ find $dir -maxdepth 1 -type f -name "*.1234yourhashvalue" };