Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Do not undertand this error message

by b310 (Scribe)
on Apr 29, 2005 at 10:51 UTC ( #452569=perlquestion: print w/ replies, xml ) Need Help??
b310 has asked for the wisdom of the Perl Monks concerning the following question:

Hello:

I'm running a script and the script runs successfully but it comes with a strange message. This is the message:

Click here to return to the BridgeMill Tennis Club home pFri Apr 29 06:41:15 2005 festregister1.cgi: Use of uninitialized value in concatenation (.) or string at /home/brmaster/www/cgi-bin/festregister1.cgi line 113. age.

The line should read: Click here to return to the BridgeMil Tennis Club home page.

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.

Can someone take a look at my script and help me out?

Thank you in advance. Here's the script:
#!/usr/bin/perl -Tw use CGI qw(:standard); use strict; use lib qw(/home/brmaster/www/); use CGI::Carp qw(fatalsToBrowser); use CGI qw(:standard escape escapeHTML); use Mail::Sendmail; my ($player, $playerphone, $memberid, $partner, $partnerphone, $email, + $section, $level, $street, $city, $state, $zip, $entry, $party, $guests, $payment, $message); $player = param("player"); $playerphone = param("playerphone"); $memberid = param("memberid"); $partner = param("partner"); $partnerphone = param("partnerphone"); $email = param("email"); $section = param("section"); $level = param("level"); $street = param("street"); $city = param("city"); $state = param("state"); $zip = param("zip"); $entry = param("entry"); $party = param("party"); $guests = param("guests"); $message = param("message"); $payment = param("payment"); print header, start_html "\n"; my $choice = param ("choice"); if (($choice eq "Submit") && ($payment eq "Please bill my Bridgemill a +ccount")|| ($payment eq "Prefer to mail payment with this form")) { send_confirmation_email (); reg_form_info_page (); send_submit_email (); } elsif (($choice eq "Submit") && ($payment eq "Pay online with credit c +ard")) { send_confirmation_email (); send_submit_email (); paypal_page (); } else { print p ("Logic error, unknown choice: $choice"); } #@ SEND_CONFIRMATION_EMAIL sub send_confirmation_email { my $text; my %mail = ( From => "support\@bridgemilltennis.com", # YOU SHOU +LD CHANGE THIS! To => $email, Subject => "Registration for Tennis Fest 2005 Submitted", Message => "" ); my $page; $mail{Message} = <<EOF; Thank you for registering for the BridgeMill Tennis Fest 2005. This is the information you submitted. Player's Name: $player Player's Phone Number: $playerphone Member ID: $memberid Email Address: $email Partner's Name: $partner Partner's Phone: $partnerphone Section: $section Playing Level: $level Mailing Address: $street, $city, $state, $zip Tournament Entry Fee: $entry Outback Steakhouse Player Party: $party Number of Guests for Outback Steakhouse Player Party: $guests Payment: $payment Message: $message EOF sendmail (%mail) or $page .= p (escapeHTML ("Oops, failure sending mail to $mai +l{To}")); return (defined ($page) ? $page : ""); } #@ SEND_CONFIRMATION_EMAIL #@ SEND_SUBMIT_EMAIL sub send_submit_email { my %mail = ( From => $email, To => "support\@bridgemilltennis.com", # YOU SHOULD CHA +NGE THIS! Subject => "Tennis Fest 2005 Registration Submitted", Message => "" ); my $page; $mail{Message} = <<EOF; The following player, $player, has submitted the BridgeMill Tennis Fes +t 2005 registration form. Player's Name: $player Player's Phone Number: $playerphone Member ID: $memberid Email Address: $email Partner's Name: $partner Partner's Phone: $partnerphone Section: $section Playing Level: $level Mailing Address: $street, $city, $state, $zip Tournament Entry Fee: $entry Outback Steakhouse Player Party: $party Number of Guests for Outback Steakhouse Player Party: $guests Payment: $payment Message: $message EOF sendmail (%mail) or $page .= p (escapeHTML ("Oops, failure sending mail to $mai +l{To}")); return (defined ($page) ? $page : ""); } #@ SEND_SUBMIT_EMAIL #@ REG_FORM_INFO_PAGE sub reg_form_info_page { print <<ENDHTML; <html> <head> <meta http-equiv="Content-Language" content="en-us"> <title>BridgeMill Tennis Club - Power Camp Summer Registration</title> <meta name="Description" content="The BridgeMill tennis club, Atlanta' +s largest residential tennis center offers tennis, tennis lessons, AL +TA and USTA leagues, tournaments, adult and junior programs, and a fu +ll service pro shop."> <meta name="Keywords" content="BridgeMill, BridgeMill tennis club, bri +dgemilltennis.com, Atlanta, Canton, Georgia, ALTA, USTA, juniors, adu +lts, leagues, tournaments, membership, instruction, lessons, tennis c +enter, tennis club, club, men's doubles, women's doubles, mixed doubl +es"> <link href="../../../style1.css" rel="stylesheet" type="text/css"> </head> <body topmargin="0" bgcolor="#FFFFFF" text="#000000"> <table border="0" cellpadding="0" cellspacing="0" style="border-coll +apse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="21%"> <p align="center"> <img border="0" src="../../../images/logo-form.jpg" align="left" + width="150" height="97"></td> <td width="79%"><font size="2" face="Verdana"><b>Tennis Fest 200 +5 Registration</b> </font> <p><b><font size="2" face="Verdana">Confirmation</font></b></td> </tr> <tr> <td width="100%" colspan="2">&nbsp;</td> </tr> <tr> <td width="100%" colspan="2"><font size="2" face="Verdana">Thank + you for registering for the BridgeMill Tennis Fest 2005.&nbsp; <b>Your r +egistration has been submitted</b>.</font></td> </tr> <tr> <td width="100%" colspan="2">&nbsp;</td> </tr> <tr> <td width="100%" colspan="2"><font size="2" face="Verdana">Pleas +e print this page for your records.</font><p><i><b> <font size="2" face="Verdana" color="#FF0000">If mailing your pa +yment, please print this page and include it with your payment.</font>< +/b></i></td> </tr> <tr> <td width="100%" colspan="2">&nbsp;</td> </tr> <tr> <td width="100%" colspan="2"> <table border="0" cellpadding="0" cellspacing="0" style="border- +collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber +4"> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"><b><font size="2" face="Verdana">P +layer's Name:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$player</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> <b><font face="Verdana" size="2">Player's Phone Number:</fon +t></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$playerphone</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"><b><font size="2" face="Verdana">M +ember ID Number:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$memberid</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"><b><font size="2" face="Verdana">E +mail Address:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$email</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"><b><font size="2" face="Verdana"> Partner's Name:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$partner</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> <b><font face="Verdana" size="2">Partner's Phone Number:</fo +nt></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$partnerphone</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> <b><font face="Verdana" size="2">Section:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> $section</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"><b><font size="2" face="Verdana"> Playing Level:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$level</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"><b><font size="2" face="Verdana">M +ailing Address:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$street,&nbsp;&nbsp;&nbsp;&nbsp; $ +city,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $state,&nbsp;&nbsp;&nbsp; $zip</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> <b><font face="Verdana" size="2">Tournament Entry Fee:</font +></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> $entry</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> <b><font face="Verdana" size="2">Outback Steakhouse Player P +arty:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> $party</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> <b><font face="Verdana" size="2"># of Guests for Player Part +y:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"> $guests</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="18%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7"><b><font face="Verdana" size="2">M +essage:</font></b></td> <td width="53%" height="19" style="border-style: solid; bord +er-width: 1" bordercolor="#D7D7D7">$message</td> <td width="108%" height="19">&nbsp;</td> </tr> <tr> <td width="30%">&nbsp;</td> <td width="24%">&nbsp;</td> <td width="63%">&nbsp;</td> </tr> </table> </td> </tr> <tr> <td width="24%"><font size="2" face="Verdana"><font color="#FF00 +00"><b>Mail Payment to</b></font>:<br> BridgeMill Tennis Club<br> Attn: Mike Perry<br> 1180 BridgeMill Avenue<br> Canton, GA 30114</font></td> <td width="76%"> <p align="center"><b><font size="2" face="Verdana"><a href="../. +./../index.html"> Click here to return to the BridgeMill Tennis Club home page.</a +></font></b></td> </tr> </table> </body> </html> ENDHTML } #@ REG_FORM_INFO_PAGE #@PAYPAL_PAGE sub paypal_page { print <<ENDHTML; <html> <head> <meta http-equiv="Content-Language" content="en-us"> <title>BridgeMill Tennis Club - Power Camp Summer Registration</title> <meta name="Description" content="The BridgeMill tennis club, Atlanta' +s largest residential tennis center offers tennis, tennis lessons, AL +TA and USTA leagues, tournaments, adult and junior programs, and a fu +ll service pro shop."> <meta name="Keywords" content="BridgeMill, BridgeMill tennis club, bri +dgemilltennis.com, Atlanta, Canton, Georgia, ALTA, USTA, juniors, adu +lts, leagues, tournaments, membership, instruction, lessons, tennis c +enter, tennis club, club, men's doubles, women's doubles, mixed doubl +es"> <link href="../../../style.css" rel="stylesheet" type="text/css"> </head> <body topmargin="0" bgcolor="#FFFFFF" text="#000000"> <table border="0" cellpadding="0" cellspacing="0" style="border-coll +apse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" h +eight="476"> <tr> <td width="21%" height="97"> <p align="center"> <img border="0" src="../../../images/logo-form.jpg" align="left" + width="150" height="97"></td> <td width="79%" height="97"><font size="2" face="Verdana"><b>Ten +nis Fest 2005 Registration</b> </font> <p><b><font size="2" face="Verdana">Confirmation</font></b></td> </tr> <tr> <td width="100%" colspan="2" height="19">&nbsp;</td> </tr> <tr> <td width="100%" colspan="2" height="16"><font size="2" face="Ve +rdana">Thank you for registering for the BridgeMill Tennis Fest 2005.&nbsp; <b>Your r +egistration has been submitted</b>.</font></td> </tr> <tr> <td width="100%" colspan="2" height="19">&nbsp;</td> </tr> <tr> <td width="100%" colspan="2" height="16"><font face="Verdana" si +ze="2">Please select your item(s) below and proceed to checkout.&nbsp; Your registrat +ion will be submitted via email.</font></td> </tr> <tr> <td width="100%" colspan="2" height="19">&nbsp;</td> </tr> <tr> <td width="100%" colspan="2" height="114" valign="top"> <p align="center"><img border="0" src="../../../images/PayPal_ma +rk_60x38.gif" width="60" height="38">&nbsp;&nbsp;&nbsp;&nbsp; <img border="0" src="../../../images/horizontal_solution_PPeChec +k.gif" width="222" height="30">&nbsp;&nbsp;&nbsp; <img border="0" src="../../../images/under_header_2.jpg" width=" +114" height="47"></td> </tr> <tr> <td width="100%" colspan="2" height="176"> <table border="0" cellpadding="0" cellspacing="0" style="border- +collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber +4"> <tr> <td width="15%" height="1" valign="top"><span cl +ass="bold">Tournament Entry Fee -&nbsp; Per player:</span></td> <td width="4%" height="1" valign="top" align="ce +nter"> <span class="bold"><font color="#FF0000">\$29</f +ont></span></td> <td width="98%"><form target="paypal" action="https://www.pa +ypal.com/cgi-bin/webscr" method="post"> <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-bu +t22.gif" border="0" name="submit" alt="Make payments with PayPal - it +'s fast, free and secure!" width="87" height="23"> <input type="hidden" name="add" value="1"> <input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="business" value="bridgemilltennis\@comcast. +net"> <input type="hidden" name="item_name" value="Tennis Fest 2005 Tourname +nt Entry Fee"> <input type="hidden" name="item_number" value="Fest05"> <input type="hidden" name="amount" value="29.00"> <input type="hidden" name="return" value="http://www.bridgemilltennis. +com"> <input type="hidden" name="cancel_return" value="http://www.bridgemill +tennis.com"> <input type="hidden" name="no_note" value="1"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name="lc" value="US"> </form> </td> </tr> <tr> <td width="15%" height="1" valign="top"><span cl +ass="bold">Outback Steakhouse Party -&nbsp; 1 player:</span></td> <td width="4%" height="1" valign="top" align="ce +nter"> <span class="bold"><font color="#FF0000">\$8</fo +nt></span></td> <td width="98%"><form target="paypal" action="https://www.pa +ypal.com/cgi-bin/webscr" method="post"> <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-bu +t22.gif" border="0" name="submit" alt="Make payments with PayPal - it +'s fast, free and secure!" width="87" height="23"> <input type="hidden" name="add" value="1"> <input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="business" value="bridgemilltennis\@comcast. +net"> <input type="hidden" name="item_name" value="Outback Steakhouse Player + Party - 1 Player"> <input type="hidden" name="item_number" value="FestParty05p1"> <input type="hidden" name="amount" value="8.00"> <input type="hidden" name="return" value="http://www.bridgemilltennis. +com"> <input type="hidden" name="cancel_return" value="http://www.bridgemill +tennis.com"> <input type="hidden" name="no_note" value="1"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name="lc" value="US"> </form></td> </tr> <tr> <td width="15%" height="1" valign="top"><span cl +ass="bold">Outback Steakhouse Party -&nbsp; 2 players:</span></td> <td width="4%" height="1" valign="top" align="ce +nter"> <span class="bold"><font color="#FF0000">\$16</f +ont></span></td> <td width="98%"><form target="paypal" action="https://www.pa +ypal.com/cgi-bin/webscr" method="post"> <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-bu +t22.gif" border="0" name="submit" alt="Make payments with PayPal - it +'s fast, free and secure!" width="87" height="23"> <input type="hidden" name="add" value="1"> <input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="business" value="bridgemilltennis\@comcast. +net"> <input type="hidden" name="item_name" value="Outback Steakhouse Player + Party - 2 Players"> <input type="hidden" name="item_number" value="FestParty05p2"> <input type="hidden" name="amount" value="16.00"> <input type="hidden" name="return" value="http://www.bridgemilltennis. +com"> <input type="hidden" name="cancel_return" value="http://www.bridgemill +tennis.com"> <input type="hidden" name="no_note" value="1"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name="lc" value="US"> </form> </td> </tr> <tr> <td width="15%" height="19"> <span class="bold"> Guests for Outback Player Party - Per guest:</sp +an><br> <b><i> <font size="2" face="Verdana" color="#008000">En +ter the # of guests that will be attending:</font></i></b> +</td> <td width="4%" height="19" valign="top" align="c +enter"> <b><font face="Verdana" size="2" color="#FF0000" +>\$19</font></b></td> <td width="98%" valign="top"><form target="paypal" action="h +ttps://www.paypal.com/cgi-bin/webscr" method="post"> &nbsp;<input type="hidden" name="add" value="1"> <input type="text" name="quantity" size="15"> <input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="business" value="bridgemilltennis\@comcast. +net"> <input type="hidden" name="item_name" value="GUEST Outback Steakhouse +Player Party"> <input type="hidden" name="item_number" value="FestGuest05"> <input type="hidden" name="amount" value="19.00"> <input type="hidden" name="return" value="http://www.bridgemilltennis. +com"> <input type="hidden" name="cancel_return" value="http://www.bridgemill +tennis.com"> <input type="hidden" name="no_note" value="1"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name="lc" value="US"> <input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-bu +t22.gif" border="0" name="I1" alt="Make payments with PayPal - it's f +ast, free and secure!" width="87" height="23"></form></td> </tr> <tr> <td width="38%">&nbsp;</td> <td width="6%">&nbsp;</td> <td width="98%"><form target="paypal" action="https://www.pa +ypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="business" value="bridgemilltennis\@comcast. +net"> <p align="center"> <input type="image" src="https://www.paypal.com/en_US/i/btn/view_cart_ +02.gif" border="0" name="submit" alt="Make payments with PayPal - it' +s fast, free and secure!" width="74" height="21"> <input type="hidden" name="display" value="1"> </p> </form></td> </tr> </table> </td> </tr> </table> </body> </html> ENDHTML } #@ PAYPAL_PAGE

Comment on Do not undertand this error message
Download Code
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\

      Hi,

      Thanks for the reply. I've looked up and down my code and everything that should have double quotes - does. Nothing seems out of the ordinary to me.

        No, no, no. YOu don't understand, the message you are getting is as the result of trying to interpolate an undefined scalar into a double quoted string - this may be in an explicit "string" or within one of your "here documents". A missing double quote would result in a compile time error.

        /J\

        The print <<EOF; is effectively a double quoted string.

        Somewhere in there, one of the variables that's in the string is undefined. The easiest thing to try to pinpoint exactly where it is, is to break the string down into smaller parts. (split in half or thirds, figure out which part had the problem, split that one down further, etc.)

        As you're getting the values from an HTTP form submission, you can't be sure that the browser sent the value, so in the long run, I'd also suggest handling that possibility:

        $player = param("player") || ''; $playerphone = param("playerphone") || ''; ...

        (you'll want more sophisticated logic if '0' is a valid value for that field)

        Look for sigils. Any place (in the string) where there's a $ or @, for instance, Perl will attempt to interpolate the corresponding variable.

        When I run it at the command line, I get this:

        Content-Type: text/html; charset=ISO-8859-1 <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-U +S"><head><title> </title> [Fri Apr 29 07:36:15 2005] temp.pl: Use of uninitialized value in stri +ng eq at temp.pl line 36. [Fri Apr 29 07:36:15 2005] temp.pl: Use of uninitialized value in stri +ng eq at temp.pl line 36. [Fri Apr 29 07:36:15 2005] temp.pl: Use of uninitialized value in stri +ng eq at temp.pl line 36. [Fri Apr 29 07:36:15 2005] temp.pl: Use of uninitialized value in conc +atenation (.) or string at temp.pl line 54. </head><body><p>Logic error, unknown choice: </p>/root #

        In this case, it appears to be $choice and $payment that are undefined, causing these warnings. However, the one you are getting comes from a different place in the code, and so it may be a different variable.

        If you can't figure out where it is by looking at the code, I know two tricks to narrow it down:

        1. Use Data::Dumper to show you what your various variables really are; look for ones that are undef and should be defined.
        2. Failing that, split up your big long string into pieces. Start by splitting it in half, then when you run again the line number will tell you which half is the problem; split that half in half again, and repeat until you've got a string with just one interpolation in it; there is your problem.

        "In adjectives, with the addition of inflectional endings, a changeable long vowel (Qamets or Tsere) in an open, propretonic syllable will reduce to Vocal Shewa. This type of change occurs when the open, pretonic syllable of the masculine singular adjective becomes propretonic with the addition of inflectional endings."  — Pratico & Van Pelt, BBHG, p68
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.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://452569]
Approved by ghenry
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2014-07-31 05:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (245 votes), past polls