in reply to problems with advanced array sort

ultibuzz,
Here is a Schwartzian Transform solution:
@file = # getting back the filename map $_->[0] # ascending numerical sort on desired digits sort {$a->[1] <=> $b->[1]} # anonymous array 0 => filename, 1 => desired digits map {[$_, /(\d+)\.zip/]} @file;
Keep in mind this solution is specific to the file name sample you provided. You will likely have to adapt it or, better yet, use File::Basename. Update: I added comments to what the ST was doing in case you weren't familiar with how it worked.

Cheers - L~R