in reply to Re: Re(2): (Ovid): uninitialized value in concatenation
in thread uninitialized value in concatenation

To start with, you could eliminate redundancies (as I've tried to demonstrate by refactoring your code), and encapsulate data dependencies in a data structure, to the degree possible (see my %parent_hash in my snippet), rather than if statements.

Replies are listed 'Best First'.
Re: Re: (4): uninitialized value in concatenation
by mnlight (Scribe) on Jan 15, 2002 at 00:33 UTC
    I have taken your code and put in my script it works the problem I am having is somehow it does not recognize who the parent is and give send it to $name.
    # store subparent for each parent my %parent_hash = ( 'Father' => 'Mother', 'Mother' => 'Father' ); if (exists $parent_hash{$parent}) { my $sub_parent = $parent_hash{$parent}; for my $col ( $parent, $sub_parent ) { my $sql = "select $col from Roster where User=?"; my $rv = $dbh->selectcol_arrayref( $sql, undef, $user ); if ( @$rv ) { # any rows returned? $name = $rv->[0]; # take first one last; } } } foreach $date ( @volunteer_date ) { $sth = $dbh->prepare ("select distinct Volunteer from Voluntee +r where Volunteer = \'$name\' and Date = \'$date\'"); $sth->execute (); my $chk = $sth->fetchrow_array; #Verify the parent is not signed up. if ($chk eq $name){ print $query->h1({-align=>'center'}, "You are already signed u +p for this date: $date"); } #end if statement #process the information and update the schedule. else{ $sth = $dbh->prepare ("select max(Number) from Volunteer where Date = '$date' and Volunteer = 'TBD'"); $sth->execute (); my $number = $sth->fetchrow_array; $sth = $dbh->prepare ("update Volunteer set Volunteer = '$name' where Date = '$date' and Volunteer = 'TBD' and Number = $number "); $sth->execute (); print $query->h1({-align=>'center'}, "You signed up for this d +ate $date")