The following sort-code came from an old CPAN page.  It seems to work just
fine (it sorts a tab-delimited text file by the 3rd column), but if I have
warnings (-w) turned on the compiler throws a whole bunch of "Use of
uninitialized value" warnings about the line that starts "@newrefs ....".
What's wrong?


  open(FILE, $file) || die("Couldn't open $file: $!\n");
  @content = <FILE>;
  close(FILE);

  @listrefs = map { [$_, (split(' ', $_))[2] ] } @content;
  @newrefs = sort { $a->[1] <=> $b->[1] } @listrefs;
  @content = map { $_->[0] } @newrefs;


Thanks for all the help so far, this list is great!

- B


____________________________

> I suppose it does look a little bizarre.  Actually, my goal is a little
> more complex.  We have a simulation that outputs data files, but often up
> to 90% of the data is redundant.  So I'm trying to write a filter for the
> data.  I have to:
>
> 1.  open and load the file
> 2.  strip all comments (marked with a #) and blank lines off the top
> 3.  sort by column 4, then by column 3
> 4.  remove all lines at the top that have a 0 in column 5
> 5.  write the comments + sorted lines back out to a new file
>
> Unfortunately I'm new enough at perl that I've only got steps 1 and 2 to
> work so far...  I got some great help here on the list for step 3, though
> the code at <URL>
> seems much more concise.  I just haven't gotten it to work on my array
> instead of a string.



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to