b310 has asked for the wisdom of the Perl Monks concerning the following question:

This node falls below the community's threshold of quality. You may see it by logging in.

Replies are listed 'Best First'.
Re: Do not undertand this error message
by gellyfish (Monsignor) on Apr 29, 2005 at 11:01 UTC

    You will get this warning when you are doing interpolation of a variable into a double quoted string as well as with explicit concatenation e.g:

    use strict; use warnings; + my $foo; + print "hshsh $foo ";
    Also bear in mind that the line number is likely not to be correct where you have a here document.

    /J\

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Do not undertand this error message
by JediWizard (Deacon) on Apr 29, 2005 at 12:58 UTC

    Instead of using an extremely large print statment to create the html, you may wish to consider using Mason or HTML::Template or some similar module. (other monks have suggestions?)


    They say that time changes things, but you actually have to change them yourself.

    —Andy Warhol

      You forgot the Template Toolkit ( Template ) !
Re: Do not undertand this error message
by PodMaster (Abbot) on Apr 30, 2005 at 10:42 UTC
    I scrolled down my script to line 113 and I can't for the life of me figure it out. The funny thing is that I'm not trying to doing concatentation in this script.
    The error says Use of uninitialized value in concatenation (.) or string.
    When you don't understand an error message, check perldiag.
    `perldoc perldiag'
    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 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.

    Your problem specifically is that one of
    $player
    $playerphone
    $memberid
    $email
    $partner
    $partnerphone
    $section
    $level
    $street, $city, $state, $zip
    $entry
    $party
    $guests
    $payment
    $message
    is not defined when you use it in the heredoc(string) on line 113.

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.