- 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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|