Forum Webscript.Ru

Программирование => Perl => Тема начата: Lord Vampire от 26 Августа 2002, 04:17:39

Название: Помогите с файловыми функциями :(
Отправлено: Lord Vampire от 26 Августа 2002, 04:17:39
Помогите разобраться...
Мне надо найти в файле определенную строчку, запомнить позицию, сместиться на конец этой строки и добавить новую запись...

например:
Файл - personal.txt
Строчка -  "n Gerenoma"
Новая запись должна идти сразу после этой строчки... я не могу найти эту строку через:
/^n\\s+(@name)/ig
и $position = tell(PH); - показывает eof, то есть полный размер файла.
Помогите плиз... Заранее спасибо.
Название: Помогите с файловыми функциями :(
Отправлено: ююю от 26 Августа 2002, 15:56:30
$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";
Название: Помогите с файловыми функциями :(
Отправлено: ююю от 26 Августа 2002, 17:22:11
что то  спать чтоли больше надо или меньше
замените undef $_; на next;

Хотя всёравно не очень красиво
Название: Помогите с файловыми функциями :(
Отправлено: Lord_Vampire от 26 Августа 2002, 23:12:46
Спасибо за инфу и код.
Всё работает! :)