if ($entry3 !~ /${user_input}_ABC_\S*\.pdf/) { ... } #### use Path::Iterator::Rule; ... my $rule = Path::Iterator::Rule->new; $rule->file->not_name( qr/${user_input}_ABC_\S*\.pdf/ ); my $next = $rule->iter( $doc_dir ); while (defined( my $file = $next->() )) { ... }