http://qs321.pair.com?node_id=218439


in reply to Having to specify $_

You'd think (if you think like me) that $_ is assigned the value of $sth->fetchrow_hashref everytime through the loop.

I'd expect that $_ would be assigned during a for or foreach loop, but not during a while loop. Try

push @results, $_ foreach ($sth->fetchrow_hashref());


Update: It's possible to be mislead by   while ( <FILE> ) { ... Here, $_ does get set. But this is actually due to input operator behavior, as covered in the "I/O Operators" section in perlop.

Props to rob_au for prodding this clarification.

Replies are listed 'Best First'.
Re: Re: Having to specify $_
by sauoq (Abbot) on Dec 09, 2002 at 03:20 UTC
    I'd expect that $_ would be assigned during a for or foreach loop, but not during a while loop. Try
    push @results, $_ foreach ($sth->fetchrow_hashref());

    That will only work if the function actually returns a list (and in this case it doesn't.) It will not call the function repeatedly until it returns false.

    -sauoq
    "My two cents aren't worth a dime.";