Forum Webscript.Ru
Программирование => Perl => Тема начата: Error202 от 24 Августа 2005, 16:30:16
-
В массиве @news - 3 записи...
Почему в результате работы функции остается только первая?
Сбой в конструкции return @news;
sub BlockSub
{
$sth = $dbh->prepare(qq{ SELECT text FROM news ORDER BY date DESC LIMIT 0 , 3});
$sth->execute();
while (my ($text) = $sth->fetchrow_array())
{
push(@news,$text);
};
$sth->finish();
return @news;
};
-
Все, справился... Всем спасибо...
Правда так и не понял почему
return @text;
отличается от
return "@text";
-
return "@text";
более менее еквивалентно
return join($", @text);
если тебе интересно получить от функции именно массив, то попробуй воспользоваться следующей записью:
sub func {
...
return @text;
}
my @copy = func();
perldoc perldata --> "Array Joining Delimiter"
perldoc perlsub