Usando una transformada de
Schwartz:
Código:
#!/usr/bin/perl
use warnings;
use strict;
my @elementos = qw(
1::pedro::
2::julio::
3::alvaro::
4::andres::
5::zapata::
6::yamile::
);
my @elementos2
= map { $_->[1] }
sort { $a->[0] cmp $b->[0] }
map { [ (split q{:})[2], $_ ] }
@elementos;
print "@elementos\n";
print "@elementos2\n";
Sale:
Código:
1::pedro:: 2::julio:: 3::alvaro:: 4::andres:: 5::zapata:: 6::yamile::
3::alvaro:: 4::andres:: 2::julio:: 1::pedro:: 6::yamile:: 5::zapata::