#! /usr/bin/perl # $Id$ use strict; use warnings; print sort { my $a=$a; my $b=$b; while ($a ne "" || $b ne "") { $a=~s/^(\D*)//s; my $as=$1; $b=~s/^(\D*)//s; my $bs=$1; my $rs=$as cmp $bs; return $rs if $rs; $a=~s/^(\d*)//s; my $an=$1; $b=~s/^(\d*)//s; my $bn=$1; my $rn=$an<=>$bn; return $rn if $rn; } return 0; } @ARGV ? map "$_\n",@ARGV : <>;