всем привет.
вот такая у меня наблюдается странность:
в документации написано, что в скалярном контексте этот метод возвращает "первое поле первой строки". согласна, проверено - работает. супер. пишем функцию, контекст - список - возвращает так же "первое поле первой строки", хотя по документации должна бы вернуть "первую строку данных". обидно, понимаете ли.
вот и функция:
sub one_row ($@) { my ($statement,@bind_val)=(shift,@_);
my @row=\'\';
if (@bind_val) { @row = $dbh->selectrow_array($statement,undef,@bind_val) or die "$statement, $DBI::errstr"; }
else { @row = $dbh->selectrow_array($statement) or die "$statement, $DBI::errstr"; }
return wantarray ? @row : $row[0];
}
вызов:
my ($item,$content)=&one_row("select title,body from rubricator where id=?",3);
а вот, если сделать:
my ($item,$content)=$dbh->selectrow_array("select title,body from rubricator where id=3") or die $DBI::errstr;
работает.
где я ошиблась в этой функции?