I am attempting to sort data which has a combination of both numeric and alpah numeric data. Now it would not be so bad, but the numeric data can be either 9 or 10 characters in length and no leading zero is supplied in the numbers.
I have supplied some code I am playing with, but running into a mental block in attempting to get it sorted. Any thoughts on how to approach would be greatly appreciated? Running on XP AS 5.8.8.Build 820. Trying to use core Perl verses adding any modules if possible. #!perl use strict; use warnings; my %MPI = (); my $MyProInfo = \%MPI; my $MyIn = 0; my $MyOut = 0; my $MyWrkKey; while ( <DATA> ) { chomp; $MyIn++; next if ( /^\s*(#|$)/ ); next if ( /^\s/ ); $MyWrkKey = substr($_,0,13); $MyProInfo->{$MyWrkKey} = 1; $MyOut++; } { my $MyPrtKey; foreach $MyPrtKey ( sort { $a->[1] <=> $b->[1] || $a->[0] cmp $b->[0] } map{[$_, /^[a-z]/i ? 0 : 1 ]} keys %{$MyProInfo} ) { printf "MyPrtKey: %s\n", $MyPrtKey->[0]; } } __DATA__ # # actual number or alpha is in positions 1 to 10 and when numeric can be all ten # Would like to do a true numeric sort on the numbers and alpha sort on the alpha # 075991200 000 prod 0000440.32 000003387 0148 Y Y 0148 0964844694000 prod 0000065.56 000000042 0001 Y Y 0001 0964928823000 prod 0000059.36 000000030 0001 Y Y 0001 990028300 000 xxxx 0000064.98 000000041 0001 Y Y 0001 990028318 000 xxxx 0000064.98 000000041 0001 Y Y 0001 990032732 000 xxxx 0000051.84 000000047 0001 Y Y 0001 ALN-218435000 xxxx 0000046.35 000000029 0001 Y Y 0001 ALN-244079000 xxxx 0000047.36 000000046 0001 Y Y 0001 ^------ Code ends here Thanks. Wags ;) David R Wagner Senior Programmer Analyst FedEx Freight 1.408.323.4225x2224 TEL 1.408.323.4449 FAX http://fedex.com/us ********************************************************************** This message contains information that is confidential and proprietary to FedEx Freight or its affiliates. It is intended only for the recipient named and for the express purpose(s) described therein. Any other use is prohibited. ********************************************************************** -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/