Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: finding the field number of a matching pattern in perl

by roboticus (Chancellor)
on Sep 16, 2012 at 14:16 UTC ( #993915=note: print w/replies, xml ) Need Help??

in reply to finding the field number of a matching pattern in perl

Thomas Kennll:

You've got plenty of answers already, so I'll just play around a little:

$ cat my $data = "Region Item volume Month"; my %h = do {my $cnt=0; map {$_=>++$cnt} split /\s+/, $data}; print "$_ $h{$_}\n" for grep {exists $h{$_}} qw(Item volume Tuba); $ perl Item 2 volume 3

The hash maps the fields with the field index. Wrapping the right hand side of the hash assignment in a do statement lets me localize a temporary variable. Preincrementing the temp variable converts the field numbers to one-based numbering.


When your only tool is a hammer, all problems look like your thumb.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://993915]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2018-06-25 00:50 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.