## is the .+ necessary after bb? if( $hit =~ /%(?:ff|jj|bb)/ ) ## alternate version if( $hit =~ /%[fjb]\1\b/ ) #### use File::Find::Rule; my @files = find( file => grep => qr/%[fjb]\1\b/, in => '/disk1/disk2' );