Выборка из базы строк как массив [SOLVED]

Доброго времени суток. Подскажите новичку, плс)
Задача - вытащить из базы поля и записать в массив. Пишу следующий код:

while (my $sel_ips =  $cash_zero->fetchrow_array()) {
   print  $sel_ips,"\n";
   }

получаю на выходе:
aaaaaa
bbbbbb
а надо сделать так, чтобы эти строки писались в массв, т.е $array[0] - aaaaaa , $array[1] - bbbbbb. Как реализовать ?
use Perl();

... my $arrayref =

...
my $arrayref = $cash_zero -> fetchrow_arrayref;
...
print join(',', @{$arrayref})

?

$array[0] ??? что это?

массив пишется @array
а если у тебе ссылка на массив
то ее надо разыменовать при использовании
@$array[0]
@$$array[0] - раз. ссылки на ссылку на массив
(вопрос, что возвращает функция - ссылку
на массив или массив?)

Усе

Усе разобрался.. сделал так:

<code type="perl"> 

...

my (@xz)=();

while (my @sel_ips = $cash_zero->fetchrow_array()) {

      push(@xz, @sel_ips);

}

...

</code> 

Далее если делать: print $xz[0] - то первый элемент массива и т.д..

2 KSURi, чем отличается fetchrow_arrayref() от fetchrow_array() ?

 pS: один хер теги <code> не работают, убейте меня! =(

_________ 

use Perl;

2 cybertom, не поня

2 cybertom, не понял твоей мысли..

Всех примудростей perl я еще не постиг, но понимаю что @array - это массив, а $array[0] - это [0] элемент массива..

_________ 

use Perl;

?

Не туда я посмотрел, вот!
Мысли витают где-то далеко.
Блин, когда кодишь на Си++
то Перл принимается с трудом,
бывают затыки, вот. Для меня
проще чего нибудь накатать на С++
чем на Перле. Трудно однако.
Но привыкнем. Я на Перле работаю
недолго. Пока разбираемся. Так,
что от Вас я тоже недалеко.
Но, посмотрим. :)
Общими усилиями освоим.

PS: Прав все же я, написал
при использовании - т.е. при выборке
элемента, так что все ОК! автомат прав!
Не написано было просто о разыменовании,
при присвоении переменной, кстати,
непонимаю зачем @{$var} когда сразу
можно @$var - не люблю избыточности -
вроде BEGIN END Паскаля! Другое дело
если функция возвращает и тут же тогда разумно.
@{ func() } точно не припомню нужно $ вставлять.

2cybertom В данном

2cybertom
В данном случае @{$var} == @$var, это уже дело привычки просто.

2fu7ur3
Ну имхо по названию все понятно, только вот честно говоря непомню, а разве есть fetchrow_array? помню только arrayref и hashref.
P.S.: с тегами все ок
квадратные скобки: $var
угловые скобки: $var

Два

Два варианта:

Первый:

my @result = $cash_zero->fetchrow_array;

Вариант номер два

my $result = $dbh->selectall_arrayref("твой select тут");
#Дальше работаешь с $result как с указателем на массив, что намного быстрее, чем первый вариант

Re... KSURi

Понял, безопасное программирование и все такое.
Что-бы Перл все правильно понял, типа my Var
Хотя не понимаю, если кодер делает что-то, то
почему это должно восприниматся не так! Сказал,
значит знаю, что делаю, вот и Все! И компилятор
(...) должен выполнять, как-бы абсурдным это
не было. Вроде прибить самого себя! Или изменить!
:)

DBI & mysql

Маленький вопросец, можт кто знает ?
Есть select запрос (например: select * from `table`). Как узнать сколько записей в колонке ? (все что получились при запросе)
делаю:

my $sql = $db->prepare("SELECT id FROM `users`");
  $sql->execute();
my $count = 0;
while(my @data = $select->fetchrow_array()) {
 $count++;
}
print $count,"\n";

Мне кажется это не правильно, может есть спец метод в DBI ?
#!/usr/bin/perl
use Perl;

Есть

Есть "спецметод" в SQL - COUNT

man DBI

вот довольно интересно а главное полезно

http://field.c.telecall.ru/cgi-bin/man/man2html?3+DBI 

 ....   "select count(*) from my_tabel" 

Даешь

Даешь документацию на русском языке !

------------------
use Source();

нет конечно

привыкай читать на буржуйском =)

ps вспомнилось с bash.org.ru

x: За что ты так не любишь американцев?
у: Да как представлю, что им раскладку не надо переключать...

на самом деле там все понятно "интуитивно" =) нужен не столько перевод а названия методов, дальше НЕ ПОЛЕНИСЬ и проверь большинство, поверь не пожалеешь

как говорил мой препод: "Практика, практика и еще раз практика..."