Classificando os dígitos de cada número separado por ponto:
$ echo '324.98.120928' | perl -ne 'chomp;for $n (split /\./) { push @s,join("",sort(split //, $n))};print join(".",@s),"\n"'
234.89.012289
O script Perl:
chomp;
for $n ( split /\./ ) {
push @s, join( "", sort( split //, $n ) );
}
print join( ".", @s ), "\n";
Isso dividirá a string fornecida em números separados (em $n
) e, em seguida, dividirá cada número em dígitos separados ( split //, $n
). Esses dígitos são então classificados e juntados novamente em números antes de serem colocados no array @s
.
No final, a matriz @s
é impressa com pontos entre os números.