#!/usr/local/bin/perl #usage: hicksort.pl cards.txt | sort | colrm 1 22 while (<>) { # chop; s/-//g; ($a, $b) = split '\s', $_, 2; $tube = $a; $tube =~ s#/.*##g; ($a0, $n1, $a1, $n2) = /^([a-zA-Z]*)([0-9]*)([a-zA-Z]*)([0-9]*)/; $n1 = "0" if $n1 eq "01"; $a0 = "" if $a0 =~ m/^(ck|x|ts)$/i; $a1 .= " "; $a0 .= " "; printf "%4.4s %05d %4.4s %05d %s",$a0, $n1, $a1, $n2, $_ ; # print " $foo $b $c $d $e\n"; }