Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^3: matching problem

by Athanasius (Bishop)
on Feb 25, 2013 at 02:56 UTC ( #1020449=note: print w/replies, xml ) Need Help??

in reply to Re^2: matching problem
in thread matching problem

I only have the locus_acc_no = printed out several times and it has no value.

Use a text editor, and do a search on $locus_acc_no. You will see it occurs 4 times in the code:

  1. my $locus_acc_no = "";
    Here it is declared and initialised to the empty string.

  2. $locus_acc_no = "";
    Here (within an if block) it is conditionally re-set to the empty string.

  3. if ($line =~ ModuleMatching::MatchLAC($locus_acc_no)) {
    Here it is passed into1 the function ModuleMatching::MatchLAC.

  4. print "locus_acc_no ", $locus_acc_no;
    Here its value is printed.

So it is never set to anything but the empty string, which is what gets printed! This is essentially the same point already made by linuxer, above. You fixed the warning but failed to address the underlying logic problem.

I don’t know anything about the ModuleMatching module, which I can’t find on CPAN, but I think it’s highly unlikely that this line:

if ($line =~ ModuleMatching::MatchLAC($locus_acc_no)) {

can be correct. But without knowing what sub ModuleMatching::MatchLAC is supposed to do, it’s hard to give advice.

Hope that helps,

1Since Perl uses pass-by-reference, it is possible that ModuleMatching::MatchLAC sets the value of $locus_acc_no; except that MatchLAC receives no information to use in determining the new value.

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

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2018-10-18 15:54 GMT
Find Nodes?
    Voting Booth?
    When I need money for a bigger acquisition, I usually ...

    Results (102 votes). Check out past polls.