Opps. Once you save my code to a file the syntax woiuld be:
perl mycode.pl input.txt output.txt Below is what I get now when I run my code on the input.txt file. As you can see its not sorting the way I like. It should sort like the OUTPUT.TXT file inmy previsou email. <tag id=1>Test.</tag> <tag id=10ba>Test.</tag <tag id=15xx>Test.</tag <tag id=16ab>Test.</tag <tag id=16bc>Test.</tag <tag id=16ya>Test.</tag <tag id=16yy>Test.</tag <tag id=16zz>Test.</tag <tag id=2>Test.</tag> <tag id=3>Test.</tag> <tag id=39a>Test.</tag> <tag id=4>Test.</tag> <tag id=40>Test.</tag> <tag id=41>Test.</tag> <tag id=45>Test.</tag> <tag id=5>Test.</tag> <tag id=50>Test.</tag> <tag id=54>Test.</tag> <tag id=5a>Test.</tag> <tag id=5za>Test.</tag> <tag id=6>Test.</tag> <tag id=7>Test.</tag> <tag id=8>Test.</tag> <tag id=aa>Test.</tag> <tag id=cc>Test..</tag> <tag id=de>Test.</tag> <tag id=ff>Test..</tag> <tag id=zz>Test..</tag> On Tue, 25 Jul 2006 21:32:26 -0400, macromedia wrote: >Hi, >I can't seem to get my script to sort properly. Below is my code along with a >sample input.txt file. I also have what the output.txt file should look like. >Also note any duplicate should be striped out >which seems to work ok. >Something is getting messed up when I have the numerials along with alpha etc. >I can't seem to get the results of the OUTPUT.TXT file below. ><code> >#!/usr/bin/perl -w >require 5.000; >use warnings; >use strict; >use POSIX; >my %tags = (); >my $input = $ARGV[0]; >my $output = $ARGV[1]; >open (FILE, "< $input") or die "cannot open $input: $!\n"; > while (my $tag = <FILE>) { > $tag =~ m/<tag id=(\w+)>/; > $tags{$1} = $tag; > } > open (NEWFILE, "> $output"); > foreach my $id ( map { $_->[0] } > sort { $a->[0] cmp $b->[0] || $a->[7] <=> $b->[7] } > map { [ $_, ( isdigit( $_ ) ? $_ : 0 ) ] } > keys %tags ) > { > print NEWFILE $tags{$id}; >close NEWFILE; >close FILE; ></code> >INPUT.TXT file >------------------------ ><tag id=1>Test.</tag> ><tag id=16ab>Test.</tag> ><tag id=aa>Test.</tag> ><tag id=16zz>Test.</tag> ><tag id=39a>Test.</tag> ><tag id=cc>Test.</tag> ><tag id=de>Test.</tag> ><tag id=16bc>Test.</tag> ><tag id=zz>Test..</tag> ><tag id=2>Test.</tag> ><tag id=3>Test.</tag> ><tag id=4>Test.</tag> ><tag id=5>Test.</tag> ><tag id=5a>Test.</tag> ><tag id=5za>Test.</tag> ><tag id=6>Test.</tag> ><tag id=40>Test.</tag> ><tag id=41>Test.</tag> ><tag id=40>Test.</tag> ><tag id=45>Test.</tag> ><tag id=10ba>Test.</tag> ><tag id=15xx>Test.</tag> ><tag id=cc>Test..</tag> ><tag id=ff>Test..</tag> ><tag id=50>Test.</tag> ><tag id=54>Test.</tag> ><tag id=7>Test.</tag> ><tag id=8>Test.</tag> ><tag id=16yy>Test.</tag> ><tag id=16ya>Test.</tag> >OUTPUT.TXT file >----------------------------- ><tag id=1>Test.</tag> ><tag id=2>Test.</tag> ><tag id=3>Test.</tag> ><tag id=4>Test.</tag> ><tag id=5>Test.</tag> ><tag id=5a>Test.</tag> ><tag id=5za>Test.</tag> ><tag id=6>Test.</tag> ><tag id=7>Test.</tag> ><tag id=8>Test.</tag> ><tag id=10ba>Test.</tag ><tag id=15xx>Test.</tag ><tag id=16ab>Test.</tag ><tag id=16bc>Test.</tag ><tag id=16ya>Test.</tag ><tag id=16yy>Test.</tag ><tag id=16zz>Test.</tag ><tag id=39a>Test.</tag> ><tag id=40>Test.</tag> ><tag id=41>Test.</tag> ><tag id=45>Test.</tag> ><tag id=50>Test.</tag> ><tag id=54>Test.</tag> ><tag id=aa>Test.</tag> ><tag id=cc>Test..</tag> ><tag id=de>Test.</tag> ><tag id=ff>Test..</tag> ><tag id=zz>Test..</tag> >-- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] ><http://learn.perl.org/> <http://learn.perl.org/first-response>