in reply to Re: Re: returning values
in thread returning values
As fglock points out, you are shadowing $weekStr with another declaration of it at the end of your first for loop.
You might reconsider your indentation style. It makes some of those errors easier to spot if you can more easily see what is in a block and what isn't. I recommend using perltidy. I fed your code into it, made one small change¹, and this was the result:
sub getWeekStr { my ( $week1, $week2, $week3, $week4 ) = @_; my $weekStr; for ( my $x = 1 ; $x <= 4 ; $x++ ) { my $WEEK_PD = 'WEEK' . $x; my $stored_num = $_[ $x - 1 ]; my $WEEK_PD_NAME = 'WEEK' . $x . "_PD"; $WEEK_PD_NAME = qq|<SELECT NAME="$WEEK_PD">|; $WEEK_PD =~ s/WEEK//; for ( my $y = 1 ; $y <= 4 ; $y++ ) { if ( $y =~ /$stored_num/ ) { $WEEK_PD_NAME .= qq|<option selected value = | . qq|"$stored_num">TEAM $stored_num</OP +TION>|; } else { $WEEK_PD_NAME .= qq|<option value = "$y">TEAM $y</OPTI +ON>|; } } $WEEK_PD_NAME .= qq|</SELECT>|; print $WEEK_PD_NAME; my $weekStr .= qq|<td align=center width=25%>$WEEK_PD_NAME </t +d>|; } return $weekStr; }
I broke up your long qq|| string into two and concatenated them.
-sauoq "My two cents aren't worth a dime.";
|
|---|