#! perl -slw use strict; my @files = qw( ASR0005336_8950_ETSTexas_EOC052017P_0517_Candidate_RRD_178904_01_02_Spr17_Initial_201705040952_41044.zip ASR0004520_8960_ETSTexas_EOC052017P_0517_Candidate_RRD_178901_04_04_Spr17_Initial_201705040952_41045.zip ASR0004994_8958_ETSTexas_EOC052017P_0517_Candidate_RRD_178901_02_04_Spr17_Initial_201705040951_41043.zip ASR0005336_8950_ETSTexas_EOC052017P_0517_Candidate_RRD_178904_02_02_Spr17_Initial_201705040952_41044.zip ASR0005154_8957_ETSTexas_EOC052017P_0517_Candidate_RRD_178901_01_04_Spr17_Initial_201705040951_41042.zip ASR0005336_8959_ETSTexas_EOC052017P_0517_Candidate_RRD_178901_03_04_Spr17_Initial_201705040952_41044.zip ASR0005336_8972_ETSTexas_EOC052017P_0517_Candidate_RRD_178902_01_01_Spr17_Initial_201705040952_41044.zip ); print for map unpack( 'x16 a*', $_ ), sort map pack( 'NNNNa*', (m[_(\d+)]g)[0,2,3,4], $_ ), @files; __END__ [14:56:37.78] C:\test>junk39 ASR0005336_8950_ETSTexas_EOC052017P_0517_Candidate_RRD_178904_01_02_Spr17_Initial_201705040952_41044.zip ASR0005336_8950_ETSTexas_EOC052017P_0517_Candidate_RRD_178904_02_02_Spr17_Initial_201705040952_41044.zip ASR0005154_8957_ETSTexas_EOC052017P_0517_Candidate_RRD_178901_01_04_Spr17_Initial_201705040951_41042.zip ASR0004994_8958_ETSTexas_EOC052017P_0517_Candidate_RRD_178901_02_04_Spr17_Initial_201705040951_41043.zip ASR0005336_8959_ETSTexas_EOC052017P_0517_Candidate_RRD_178901_03_04_Spr17_Initial_201705040952_41044.zip ASR0004520_8960_ETSTexas_EOC052017P_0517_Candidate_RRD_178901_04_04_Spr17_Initial_201705040952_41045.zip ASR0005336_8972_ETSTexas_EOC052017P_0517_Candidate_RRD_178902_01_01_Spr17_Initial_201705040952_41044.zip