Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Need help with Regex

by toolic (Bishop)
on Nov 11, 2008 at 17:15 UTC ( [id://722910]=note: print w/replies, xml ) Need Help??


in reply to Need help with Regex

I'm not entirely sure what you want for output because you did not show an example. But, if you just want to grab the 6th column from your input, you could use split instead of a regex:
use strict; use warnings; while (<DATA>) { my $num = (split)[5]; print "$num\n"; } __DATA__ *> 4.23.88.0/23 64.135.0.1 0 1000 234 +46164 i *> 4.23.89.0/24 64.135.0.1 0 1000 2014 +8 46164 i *> 4.23.92.0/23 64.135.0.1 0 1000 2013 +8 46164 i *> 4.23.92.0/22 64.135.0.1 0 1000 3018 + 46164 i *> 4.23.94.0/23 64.135.0.1 0 1000 4041 +8 46164 i *> 4.23.112.0/24 64.135.0.1 0 1000 1018 + 174 21889 i *> 4.23.113.0/24 64.135.0.1 0 1000 2018 + 174 21889 i *> 4.23.114.0/24 64.135.0.1 0 1000 18 1 +74 21889 i *> 4.36.118.0/24 64.135.0.1 0 1000 7018 + 174 21889 i

prints:

234 20148 20138 3018 40418 1018 2018 18 7018

Replies are listed 'Best First'.
Re^2: Need help with Regex
by ewhitt (Scribe) on Nov 13, 2008 at 09:10 UTC
    Interesting. I have never seen "split" used like that before. How could I pass it a variable? Say I wanted to print "four" ?
    $output = "one two three four five"; $output = (split $line)[4];
    Thanks!
      The parentheses around split forces it to return an array. The square brackets are used to select a single element from the array returned by split. We could either use a constant numeric value, such as 3, or we could use a scalar variable, such as $col to select the array item. Keep in mind that Perl arrays start at 0, not 1. So, "one" becomes array element [0], and "four" is element [3]:
      use strict; use warnings; my $col = 3; my $str = "one two three four five"; my $output = (split /\s+/, $str)[$col]; print "output=$output\n"; __END__ output=four

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-19 06:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found