Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
omar
Зарегистрирован: 22.01.2004 Сообщения: 99 Откуда: г.К-Чепецк
|
Добавлено: Ср Июн 15 2005 11:16 Заголовок сообщения: perl |
|
|
Подскажите плиз!!!
Как все строки файла записать в массив
делаю так:
open (FAO2, "</var/log/еemp.bak") || die;
while(<FAO2>)
{
@str=($_);
}
Но почему то записывается только последняя строка
В чем проблемв? |
|
Вернуться к началу |
|
|
squirL
Зарегистрирован: 05.01.2005 Сообщения: 371 Откуда: Одесса
|
Добавлено: Ср Июн 15 2005 11:33 Заголовок сообщения: |
|
|
:)
представьте, что вы делаете следующее:
Код: |
while (<FD>)
{
$var = $_;
} |
как вы догадываетесь, по завершении цикла переменная $var будет содержать последнюю строку. то же самое происходит и в вашем примере, поскольку ($_) - это литеральное представление массива состоящего из одного элемента - $_. таким образом, в каждой новой итерации вы заменяете @str на новый массив, состоящий их очередной строки.
Код: | open (FAO2, "/var/log/еemp.bak") || die;
while(<FAO2>)
{
push(@str,$_);
} |
в этом случае элементы будут вставлятся в массив справа. если вам надо вставлять ээлементы слева - используйте unshift |
|
Вернуться к началу |
|
|
Sol
Зарегистрирован: 05.12.2003 Сообщения: 427 Откуда: Томск
|
Добавлено: Ср Июн 15 2005 11:36 Заголовок сообщения: |
|
|
Может так?
в цикле
push(@str,$_); _________________ In My Humble Opinion |
|
Вернуться к началу |
|
|
Sol
Зарегистрирован: 05.12.2003 Сообщения: 427 Откуда: Томск
|
Добавлено: Ср Июн 15 2005 11:38 Заголовок сообщения: |
|
|
да... squirL всё более грамотно написал.. _________________ In My Humble Opinion |
|
Вернуться к началу |
|
|
butcher
Зарегистрирован: 18.04.2003 Сообщения: 467 Откуда: Киров
|
Добавлено: Чт Июн 16 2005 08:46 Заголовок сообщения: |
|
|
Если проще, то так:
@str = <FAO2>; _________________ Нет ничего невозможного... |
|
Вернуться к началу |
|
|
omar
Зарегистрирован: 22.01.2004 Сообщения: 99 Откуда: г.К-Чепецк
|
Добавлено: Чт Июн 16 2005 10:27 Заголовок сообщения: perl |
|
|
Спасибо люди!
Подскажите тогда плиз исчо как сделать таку вещь ...
Вот создали этот массив в котором есть куча цифр, нужно посчитать сколько раз каждая из них повторяется как это сделать? |
|
Вернуться к началу |
|
|
squirL
Зарегистрирован: 05.01.2005 Сообщения: 371 Откуда: Одесса
|
Добавлено: Чт Июн 16 2005 10:32 Заголовок сообщения: |
|
|
учимся делать код самостоятельно ;)
подсказка - юзаем хэш. |
|
Вернуться к началу |
|
|
|