Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > uninitialized value in pattern match

Reply
Thread Tools

uninitialized value in pattern match

 
 
rk
Guest
Posts: n/a
 
      12-07-2003
Hi,

I'm a beginner for perl/cgi programs and i tried to write a cgi script
and when i ran it, i got the following error. But when i verified it
from the book i typed exactly whatever it is there and i checked other
examples too. I did't get any clue.Can someone please help me on this.

#!/usr/bin/perl

use warnings;
use strict;
use CGI qw( :standard );

print redirect( "http://localhost/cgi-bin/auto/submitReport.html")
unless para
m( "name" );

my $visitor_name = param("visitor_name");
my $visitor_email = param("visitor_email");
my $date = param( "date" );
my $time = param( "time" );

print header();

print start_html( -title => "Reports" );

if ( $visitor_name =~ /^\w+$/ ) {
print "<p>Name: \L\u$visitor_name.</p>";
}

if ($visitor_email = ~ /^\w+$/ ) {
print "<p>E-mail: \L\u$visitor_email.</p>";
}

if ( $date =~ m#^(1[012]|0?[1-9])/([012]?\d|3[01])/(\d\d)$# ) {
print "<p>Date: $1 / $2 / $3.</p>";
}

if ( $time =~ m#^(1[012]|[1-9])[0-5]\d)[0-5]\d)$# ) {
print "<p>Time: $1: $2: $3.</p>";
}

print end_html();

---------------
Here are the errors i got.



perl submitReport.pl
Status: 302 Moved
location: http://localhost/cgi-bin/auto/submitReport.html

Content-Type: text/html; charset=ISO-8859-1

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
lang="en-US"><head><title>Seahaven QA Status Reports</title>
Use of uninitialized value in pattern match (m//) at submitReport.pl
line 22.
Use of uninitialized value in pattern match (m//) at submitReport.pl
line 26.
Use of uninitialized value in pattern match (m//) at submitReport.pl
line 30.
Use of uninitialized value in pattern match (m//) at submitReport.pl
line 34.



Thanks,
rk
 
Reply With Quote
 
 
 
 
Gunnar Hjalmarsson
Guest
Posts: n/a
 
      12-07-2003
rk wrote:
>
> my $date = param( "date" );
> my $time = param( "time" );


What's the point with submitting date and time? (You can have the
script grab them without input.)

> Here are the errors i got.


<snip>

> Use of uninitialized value in pattern match (m//) at
> submitReport.pl line 22.


<snip>

Those are not errors. They are warnings, letting you know that the
submit form didn't include the expected fields.

A standard way to get rid of such warnings is to do:

my $visitor_name = param("visitor_name") || '';

etc., but that method should only be used when it's normal that a
variable else can be used without having been initialized. In this
case you'd better fix the submit form instead.

--
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
CGI.pm and Use of uninitialized value in pattern match A. Farber Perl Misc 21 01-31-2009 04:49 PM
Use of initialized value in pattern match mike.wilson8@comcast.net Perl Misc 7 05-20-2006 04:18 PM
use of uninitialised value in pattern match (m//) Jess Perl Misc 2 05-17-2006 06:08 AM
Use of uninitialized value in pattern match (m//) Xzanron Perl Misc 2 10-19-2005 04:00 PM
uninitialized value in pattern match gilgames Perl Misc 0 07-11-2003 06:56 PM



Advertisments