use strict; use File::Copy; sub files_sort { my $first_number; my $second_number; if ($a =~ /(\d+)_(\d+)_duration_(\w+)_comptage_(\d+).txt$/){ $first_number = $1; } if ($b =~ /(\d+)_(\d+)_duration_(\w+)_comptage_(\d+).txt$/){ $second_number = $1; } if ($1 < $2){ -1 } elsif($1 > $2){ 1 } else{ 0} } my @TXT = glob("*.txt"); @TXT = sort files_sort @TXT;