Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Read Only Error -- Sorting an Array

by NetWallah (Abbot)
on Sep 16, 2012 at 15:29 UTC ( #993923=note: print w/ replies, xml ) Need Help??


in reply to Read Only Error -- Sorting an Array

Please "use strict;" and "use warnings;", particularly if you are a newb.

Did you increment $readcounter ? Working code:

use strict; use warnings; my @data; my $readcounter=0; while (<DATA>) { chomp $_; my @line_array = split(/[()\t+\s+]/, $_); my @full = map {$_ ? $_ : ()} @line_array; @{$data[$readcounter++]} = @full; # My preference## $data[$readcounter++] = \@full; # No Copying # -- Better (but more complex next line:) ## $data[$readcounter++] = [ map {$_ ? $_ : ()} split(/[()\t+\s+] +/, $_)]; } @data = sort { $a->[0] <=> $b->[0] } @data; print qq|@{$_}\n| for @data; __DATA__ 00000(IDR) 86480 22 41.435 40.696 40.728167 0 FRM 3 00002( P ) 35248 24 38.568 39.327 40.641 253 53 FRM 2 00001( P ) 35238 24 38.568 39.327 40.641 253 53 FRM 2
Update: Most perl programmers would avoid the use of a "$readcounter", and write it as:
push @data, \@full; # Auto-increments, and appends to @data

             I hope life isn't a big joke, because I don't get it.
                   -SNL


Comment on Re: Read Only Error -- Sorting an Array
Select or Download Code
Re^2: Read Only Error -- Sorting an Array
by perlstudent89 (Initiate) on Sep 16, 2012 at 17:43 UTC

    Wow! That was exactly what I was looking for. Thanks for the helpful hints!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://993923]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (9)
As of 2014-12-27 16:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (177 votes), past polls