Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Re 03.02.06 23:26 Число просмотров: 2100
Автор: Heller <Heller> Статус: Elderman
|
> следующий вопрос - можно ли сохранять переменные между > итерациями? > иначе придется каждый раз считывать hash из файла... > долговато
Насколько я знаю, в случае использования ключа -n сохранять переменные между "циклами" нельзя. Варианты решения проблемы:
1. Сохраняй их в промежуточном файле. Должно не особенно сильно нагрузить систему.
2. Используй не -n, а нормальный цикл. По сути заключаешь программу в такую конструкцию:
open (FH, "yourfile");
while (<FH>) {
код
}
Должно полуиться все то же самое, что и с ключем -n. Правда, как я понял из изначального поста, такое не прошло. Не совсем понятно почему - у меня на ActiveStat'овском Perl работает все отлично. Да и вообще следующие записи, насколько я знаю, эквивалентны (не считая возможных конфликтов с именем дескриптора):
perl -n script.pl file.txt
perl -e "open(FH,'file.txt');while(<FH>){require 'script.pl'}"
Ошибка видимо не в величине файла, а в чем-то другом. С большими файлами (более 4 Гб) я имел проблемы только с использованием функций seek, tell и операторов вида -X. Построчное считывание всегда работало нормально.
ЗЫ. Сырца твоего не смотрел, уж извини :)
|
|
|