while () { s/^\ +//; s/:000[AP]M|99991231|Jan 1 1900 12:00:00//g; s/\ *-\t-\ */-/g; s/\ +$//; } #### my @PROC_INDEXES = map $_ - 1, @PROC_FIELDS; while () { s/^\ +//; s/:000[AP]M|99991231|Jan 1 1900 12:00:00//g; s/\ *-\t-\ */-/g; my @INPUT_FIELDS = split /-/, $_; $INPUT_FIELDS[$#INPUT_FIELDS] =~ s/\ +$//; /SUN/ && ($_ = '') for @INPUT_FIELDS[@PROC_INDEXES]; print OUT_FILE join '-', @INPUT_FIELDS; } close IN_FILE; close OUT_FILE;