fiddler42 has asked for the wisdom of the Perl Monks concerning the following question:
Thanks,open (SUM2,">$ARGV[0].sum.sorted"); my @records; { local $/ = /^\s+$/; # Step through text file from one blank line to the # next, grabbibg everything in between all at once. open IN2, "$ARGV[0].sum" or die "Cannot open data file.\n$!"; while ( my $record = <IN2> ) { my @kv_pairs = split /\n/, $record; # Split each record into its <always 9> lines, and store # each line as an array element. push @records, [@kv_pairs]; # Create an anonymous array that is a copy of @kv_pairs. # Push the anonymous array containing a complete set # of keys/values for a given record into the @records array # as an array of arrays. } close IN2; } print STDERR 'Record count: ', scalar @records; # ST sort... my @sorted_recs = map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_, (split /=\s+/,$_->[4])[1] ] } # The 5th line [4] of each record has a decimal number # after the "=". Grab that number and sort all records # by those numbers. @records; print SUM2 foreach @sorted_recs; close IN2; close SUM2;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Lost contents of arrays...
by davido (Cardinal) on Jan 18, 2004 at 17:32 UTC | |
|
Re: Lost contents of arrays...
by Enlil (Parson) on Jan 18, 2004 at 17:32 UTC | |
|
Re: Lost contents of arrays...
by CountZero (Bishop) on Jan 18, 2004 at 17:34 UTC | |
by davido (Cardinal) on Jan 18, 2004 at 17:42 UTC | |
by Anonymous Monk on Jan 18, 2004 at 20:49 UTC | |
by CountZero (Bishop) on Jan 18, 2004 at 20:13 UTC |