Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: create hashes using regex

by hdb (Monsignor)
on Jun 12, 2013 at 17:45 UTC ( #1038528=note: print w/replies, xml ) Need Help??

in reply to create hashes using regex

  • Well, for one you do not link your file or file handle in any way to the declaration of the hash. How shall Perl know that you want to apply those expressions to the contents of your file?
  • Also, regular expression matching is done using the m// operator or /regexp/. Nowhere you tell Perl that you expect matching.
  • Thirdly, you need to use capture groups (...) in regular expressions to retrieve information.
  • And then you need to loop some how over the lines of your file or apply the regexes repeatedly in some way.
If you put these points into action, it could look like the code below. I am reading from the DATA handle for convenience and read all lines into an unnamed array.

use strict; use warnings; my %hash = map { /(TCONS_00[0-9]+)\s+(XLOC_[0-9]+)/ } <DATA>; my @keys= keys %hash; my @values= values %hash; print "@keys\n"; print "@values\n"; __DATA__ TCONS_00000047 XLOC_000039 TCONS_00000718 XLOC_000456 TCONS_00000938 XLOC_000610 TCONS_00004086 XLOC_002872 TCONS_00004252 XLOC_003003 TCONS_00004975 XLOC_003624 TCONS_00004976 XLOC_003624 TCONS_00005492 XLOC_004020

Replies are listed 'Best First'.
Re^2: create hashes using regex
by bingalee (Acolyte) on Jun 12, 2013 at 18:33 UTC
    thank you so much..

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (8)
As of 2018-06-23 22:13 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.