unless ($basename =~ /^(.{4}|.{10})_(.{10})_(.{8})_(.{6})_(.{10})_(.{8})\.(.{3})(\.gz)?$/) { # ... #### # Validate Filename Structure if ($basename =~ /^(.{4}|.{10})_(.{10})_(.{8})_(.{6})_(.{10})_(.{8})\.(.{3})(\.gz)?$/) { # # File Name Format Fits # ($issuercode, $outputname, $date, $time, $userid, $sequenceno, $filetype) = ($1, $2, $3, $4, $5, $6, $7); } else { if ((system @COPY, $filename, sprintf "%s%s%s%s", $UNHANDLED, $delimiter, $basename, $dupe_extn) == 0) { abort __LINE__,"bad filename '$filename', moved to unhandled directory"; } else { abort __LINE__,"failed to move unhandled file '$filename'!"; } }