Forum Webscript.Ru
Программирование => Perl => Тема начата: Lord Vampire от 26 Августа 2002, 04:17:39
-
Помогите разобраться...
Мне надо найти в файле определенную строчку, запомнить позицию, сместиться на конец этой строки и добавить новую запись...
например:
Файл - personal.txt
Строчка - "n Gerenoma"
Новая запись должна идти сразу после этой строчки... я не могу найти эту строку через:
/^n\\s+(@name)/ig
и $position = tell(PH); - показывает eof, то есть полный размер файла.
Помогите плиз... Заранее спасибо.
-
$sou=\'c:/_usr_tmp/seek.txt\';
$tmp=\'c:/_usr_tmp/tmp.txt\';
open(SEE,"<$sou");
open(TMP,">$tmp");
while(){
if (/^(aa)(.+)/){ #здесь вариации на тему
print TMP "$1my text$2\\n";
undef $_;
}
print TMP $_;
}
close(SEE);
close(TMP);
rename $tmp, $sou or die "не получилось :)\\n";
-
что то спать чтоли больше надо или меньше
замените undef $_; на next;
Хотя всёравно не очень красиво
-
Спасибо за инфу и код.
Всё работает! :)