in reply to How to look for two different file extensions?

This logic looks odd because if $FileExt is '.pdf' then it's length (4) will always be greater than 3

if ($FileExt eq ".pdf"){ if (length($FileExt) > 3){

You haven't shown the whole code but it may help you to reduce the levels of ifs with some early next statements like this ;

while (my $filename = readdir(DIR)){ next unless (-f $filename); next if ($filename eq $SumRptNam); if ($filename =~ /\.(pdf|xlsx)$/){ my $FileExt = $1; if ($FileExt eq 'pdf'){ # do X to pdf } if ($FileExt eq 'xlsx'){ # do Y to xlxs } # do Z to both } }

edit : quotes removed from '$SumRptNam'

poj