in reply to Sorting a list of filenames

It might be easier to take out what you don't need with a grep:
@to_be_written = grep { split(/_/)[0] <= $today } @busdir;
... after which, you just need to take each file in @to_be_written and do what you need to do with it.

Alternative, it's probably more efficient to use a foreach loop, as to only process the list once for both the requirement on being less than $today, and for the file operations:

foreach (@to_be_written) { if ( split(/_/)[0] <= $today ) { do_magic_file_copy_thing_here( $_ ); # $_ is the filename of int +erest } }

Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain