Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: divide one file into multiple arrays

by Athanasius (Archbishop)
on Jun 26, 2013 at 09:04 UTC ( [id://1040734]=note: print w/replies, xml ) Need Help??


in reply to Re: divide one file into multiple arrays
in thread divide one file into multiple arrays

Golf, anyone?

If you’re OK reading the whole input file into memory, the part function from List::MoreUtils can be used to populate both arrays at once. (This also incorportes Eily’s use of map to populate %bad_hash.)

#! perl use strict; use warnings; use List::MoreUtils qw( part ); my %bad_hash = map { $_ => 1 } qw( www.yahoo.com www.google.com www.comcast.com ); my ($good_log, $bad_log) = part { exists $bad_hash{ (split)[5] =~ s{-- +-*}{}r } } <DATA>; print "\nBad lines are:\n"; print for @$bad_log; print "\nGood lines are:\n"; print for @$good_log; __DATA__ X456 TV-yes DB-no 123.12.23.45 dealio3 www.google.com-------- FX-yes d +53 Y-03 X123 TV-yes DB-yes 34.154.43.21 dealio1 www.ask.com-------- FX-no d01 +Y-03 X412 TV-no DB-no 192.365.25.23 rayovac2 www.microsoft.com--- FX-yes d1 +3 Y-07

Hope that’s useful,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-03-29 09:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found