#Disregard file extension in comparison: foreach my $item (@wrkDirList) { my ( $fileName, $filePath, $fileExt ) = fileparse($item, qr/\.[^.]*/); $item = $fileName; } #### foreach $item (@filesToRetrv) { my ( $fileName, $filePath, $fileExt ) = fileparse($item, qr/\.[^.]*/); if (rename($item, $fileName)) { push (@filesToMove, $fileName); } else { print LOG "Rename failed for $localName to $fileName\n"; } } #### foreach $fileToGet (@matches) { my $remoteFileSize = $ftp->size($fileToGet); $localFileName = "$fileToGet".".xxx"; $ftpReturnVar = $ftp->get($fileToGet, $localFileName); $localFileSize = (stat "$workingDir/$localFileName")[7]; if ($remoteFileSize == $localFileSize) { push (@filesToRetrv, $ftpReturnVar); } else { ... } }