use strict; use warnings; my @extensions = qw( 123 456 ); my $extlist = join('|', @extensions); my $re = qr/some_text=".*\.(?:$extlist)"/; while(){ chomp; if ($_ =~/$re/i) { print "$_ MATCHES\n"; }else{ print "$_ does not match\n"; } } __DATA__ some_text="something.123" some_text="asdf.456" some_text="asdf.457" #### some_text="something.123" MATCHES some_text="asdf.456" MATCHES some_text="asdf.457" does not match