use strict; use warnings; my $exten = "\\\.txt|\\\.csv"; # \.txt|\.csv my @files = qw( one.txt two.html three.csv four.log pretxt file.txt~ File.Txt ); foreach (@files) { if (/($exten)\z/i) { print $_, "\n"; } } #### my @exten = qw( .txt .csv ); my $exten = join('|', map quotemeta, @exten);