Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
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 drinking their drinks and smoking their pipes about the Monastery: (14)
As of 2014-09-17 14:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (85 votes), past polls