Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Re: Use of uninitialized value in pattern match (m//)

by liz (Monsignor)
on Feb 10, 2004 at 09:49 UTC ( #327864=note: print w/replies, xml ) Need Help??

in reply to Re: Use of uninitialized value in pattern match (m//)
in thread Use of uninitialized value in pattern match (m//)

my $tmp2 = $2;

This does not make $tmp2 defined if $2 is undefined. Don't you mean something like:

my $tmp2 = length $2 ? $2 : '';
Or, if you have the defined-or patch installed, something like:
my $tmp2 = $2 // '';


Replies are listed 'Best First'.
Re^3: Use of uninitialized value in pattern match (m//)
by Anonymous Monk on Jun 26, 2009 at 11:59 UTC
    Hi, I am getting the error "Use of unintialized value in pattern match(m//) in the below line. if ($line =~ /^element \s*(\S+)\s* \S+\s* -mkbranch\s* (\S+)/) { If anyone knows, please tell me how to proceed on this. Thanks in advance, Kavitha

      You probably want to start by posting a new thread rather than hijacking a five year old discussion.

      The perldiag man page explains what all Perl error and warning messages mean. For your error, it says this:

      Use of uninitialized value%s

      (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables.

      To help you figure out what was undefined, perl will try to tell you the name of the variable (if any) that was undefined. In some cases it cannot do this, so it also tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo , and the warning will refer to the concatenation (.) operator, even though there is no . in your program.

      There appears to be only one variable used in your statement. That'll be the one that's undefined.


      See the Copyright notice on my home node.

      Perl training courses

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2021-09-27 20:16 GMT
Find Nodes?
    Voting Booth?

    No recent polls found