Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Removing certain lines from array

by johngg (Abbot)
on Jul 30, 2013 at 16:34 UTC ( #1047067=note: print w/ replies, xml ) Need Help??


in reply to Removing certain lines from array

Similar to other solutions but storing each line along with a reference to the relevant word count hash element in an AoA then using grep and map to print only the lines we want. Note that I have to dereference ( ${ $_->[ 1 ] } ) to get at the value in the hash.

$ perl -Mstrict -Mwarnings -E ' open my $inFH, q{<}, \ <<EOD or die $!; hello 1234 5698 7458 hi 1457 7459 6214 good_day 1458 hi 1258 3658 good_morning 4758 hi 1453 EOD my @lines; my %counts; while ( <$inFH> ) { my $first = ( split )[ 0 ]; $counts{ $first } ++; push @lines, [ $_, \ $counts{ $first } ]; } print for map { $_->[ 0 ] } grep { ${ $_->[ 1 ] } == 1 } @lines;' hello 1234 5698 7458 good_day 1458 good_morning 4758 $

I hope this is of interest.

Cheers,

JohnGG


Comment on Re: Removing certain lines from array
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (12)
As of 2015-07-31 20:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (281 votes), past polls