[San-Diego-pm] Perl Problem

Joel Fentin joel at fentin.com
Tue May 15 08:28:51 PDT 2012


Thank you Bob. That did the trick.

On 5/14/2012 3:21 PM, Bob Kleemann wrote:
> I'm not sure how "foreach (@{ @A })" ever worked.  You want "foreach
> (@A)", then your first line inside the loop, "@B = @{$_};" will do
> what you intend.  And yes, you probably should test to see if $ref is
> undef, and act accordingly.
>
> Alternatively, you could rewrite this bit of code as such:
>
> my $ref = $dbh->selectall_arrayref("...");
> if (! $ref) {
>      # Do something!
> }
> foreach my $row (@$ref ) {
>      push @ID, $row->[0];
>      push @Grupo, $row->[1];
>      ...
> }
>
> On Mon, May 14, 2012 at 3:03 PM, Joel Fentin<joel at fentin.com>  wrote:
>> BlueHost upgraded to CentOS 6 and Perl 10. At that moment several of my
>> sites there stopped working.
>> Can't use string ("0") as an ARRAY ref while "strict refs" in use at
>> CDsearch.pl line 283.
>>
>>
>>   my $ref=$dbh->selectall_arrayref("$Select $From $Where $Order $Limit");
>>   my @A=@{$ref};                                #@A=array of refs
>>   my @B;                                        #@B=array of info on 1 CD
>>   foreach(@{@A})                                #error here
>>   {
>>     @B=@{$_};
>>     push(@ID,$B[0]);
>>     push(@Grupo,$B[1]);
>>     push(@Disco,$B[2]);
>>     push(@Vol,$B[3]);
>>     push(@Ano,$B[4]);
>>     push(@Cancion,$B[5]);
>>     push(@Image,$B[6]);
>>     push(@CancionNo,$B[7]);
>>   }
>>
>>
>> Do I need a test for an empty @A?
>> Or is there something more graceful?
>>
>> --
>> Joel Fentin       tel: 760-749-8863
>> Biz Website:      http://fentin.com
>> Personal Website: http://fentin.com/me
>> _______________________________________________
>> San-Diego-pm mailing list
>> San-Diego-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/san-diego-pm
>
>


-- 
Joel Fentin       tel: 760-749-8863
Biz Website:      http://fentin.com
Personal Website: http://fentin.com/me


More information about the San-Diego-pm mailing list