frg (02-04-2001 07:04):А с использованием одного массива, слабо?
Закачиваешь содержимое файла в массив (@aa), передаешь cодержимое массива в другой массив (@bb),ведешь счетчик строк, если номер строки (@aa) равен 3, то пропускаешь ее. Вот и все. А потом очищаешь содержимое предыдущего файла и закачиваешь в него содержимое @bb.
$deleted_line=3;
open(FILE,"text.txt");
$i=1;
while()
{
if($i != $deleted_line)
{
@array[$i]=$_;
}
$i++;
}
close(FILE);
open(FILE,">text.txt");
foreach $line (@array)
{
print FILE $line;
}
close(FILE);
Yaroslav (02-04-2001 22:02):Давай разберемся почему. У тебя в локале не работает, или в нет закачал и там не пашет? Какую ошибку выдает? Или он работает не так, как ты ожидал от него... ;-)
Этот вариант почему-то не работает
$search_line="delete me!";
$offset=0;
open(FILE,"+ @dat=;
foreach $line (@dat)
{
$line1=$line;
chomp $line1;
if($line1 eq $search_line)
{
splice @dat,$offset,1;
}
$offset++;
}
seek(FILE,0,0);
print FILE @dat;
truncate(FILE,tell(FILE));
AliMamed (06-04-2001 13:03):Вобщем-то надо. Но если уж так, то flock тоже надо. ;-)
эээ close не надо?