Я подозреваю, что вы читаете каждую строку, манипулируете ею и затем строите огромную строку для eval (которая затем ломается).
У вас есть несколько вариантов:
1)читать в файле конфигурации, пропуская все пустые строки, как вы читаете.IE, что-то вроде:
while(<>) {
next if (/^\s*$/);
# do $string collection here
}
eval($string);
2) захватывать результаты eval по одному:
while(<>) {
$string = super_secret_read_and_modify($_);
eval($string);
}
С # 1 и # 2 вы можете отбрасывать вещи, которые нарушают ваш код.Я подозреваю, что у вас возникли проблемы, потому что оцениваемые вами данные недействительны.Так что вам нужно либо исправить свою конструкцию, либо разбить ушки на более мелкие кусочки, чтобы оценка одного куска не помешала остальным работать.