use strict; use warnings; my $exten = '(\.txt|\.csv)$'; my @files = ('one.txt.bak', 'two.html', 'three.csv', 'four.log', 'five.txt'); foreach (@files) { if (/$exten/) { print $_, "\n"; } } prints: three.csv five.txt