johngg@shiraz:~/perl/Monks > perl -Mstrict -Mwarnings -E '
my @data = qw{
this_5_string_12
some_12_garbage_23
this_5_string_8
17
this_5_string_23
some_12_garbage_6
102
this_5_string_19
5
this_5_string_101
};
my $width = 50;
say for
map { substr $_, 54 }
sort
map { do {
no warnings qw{ uninitialized };
pack qq{A${width}NA*}, m{(.*\D)?(\d+)$}, $_;
}
}
@data;'
5
17
102
some_12_garbage_6
some_12_garbage_23
this_5_string_8
this_5_string_12
this_5_string_19
this_5_string_23
this_5_string_101
####
johngg@shiraz:~/perl/Monks > perl -Mstrict -Mwarnings -E '
my @data = qw{
this_5_string_12
some_12_garbage_23
this_5_string_8
17
this_5_string_23
some_12_garbage_6
102
this_5_string_19
5
this_5_string_101
};
my $width = 50;
say for
map { substr $_, 54 }
sort
map { do {
m{(.*\D)?(\d+)$};
pack qq{A${width}NA*}, ( $1 ? $1 : qq{\x7f} x $width ), $2, $_;
}
}
@data;'
some_12_garbage_6
some_12_garbage_23
this_5_string_8
this_5_string_12
this_5_string_19
this_5_string_23
this_5_string_101
5
17
102
####
johngg@shiraz:~/perl/Monks > perl -Mstrict -Mwarnings -E '
my @data = qw{
this_5_string_12
some_12_garbage_23
this_5_string_8
17
this_5_string_23
some_12_garbage_6
102
this_5_string_19
5
this_5_string_101
};
my $width = 50;
say for
map { substr $_, 54 }
sort
map { do {
no warnings qw{ uninitialized };
pack qq{NA${width}A*}, reverse( m{(.*\D)?(\d+)$} ), $_;
}
}
@data;'
5
some_12_garbage_6
this_5_string_8
this_5_string_12
17
this_5_string_19
some_12_garbage_23
this_5_string_23
this_5_string_101
102