Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление строк... Удаляем, удаляем и ещё раз удаляем... 
:(
    Опции темы
_eXpLoReR_
  Дата 13.9.2004, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.3.2004

Репутация: нет
Всего: нет



Удаление строк...

Приветствую!
Сразу же перехожу к сути вопроса. Есть массив. В него загнаны, например, 4 строки:

rows.txt

Цитата

1|первая строка|321|
2|вторая строка|11|
3|третья строка|3222|
4|четвертая строка|32|


split... 1 значение в строке - её номер, 2 значение - название, 3 значение - пусть будет значение самой строки. Но это не столь важно... так вот...

во-первых, нужно удалить строку...

Удаляем 3 строку!!!
Посылаю с помощью HTML значение $del... т.е. $del = 3...
Как это делал я (банально и просто):

Цитата

open (F, "rows.txt");
@rows = <F>;
close (F);

foreach (@rows) {
($num,$name,$value)=split(/\|/,$rows[$del-1]);
}

$rows[$del-1]="";

open (F,">rows.txt");
close (F);

foreach (@rows) {
open (F, ">>rows.txt");
print F $_;
close (F);
}


Т.е. я присвоил строке никакое значение... Теперь 3-я строка удалена... Так делал я... А вот для чего собсна создавал топик - подскажите какие попроще пути удаления строк из массива. Может, с помощью регулярных выражеий? Буду очень рад услышать! Я просто уверен, что они существуют!

Заранее благодарен!
PM MAIL   Вверх
dimes
Дата 14.9.2004, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 20.7.2004
Где: то около СПБ

Репутация: нет
Всего: 14



Ты не удалил элемент из массива ты просто зделал его пустым. Т.е. элемент остался но он содержит пустоту.
Удаляет элемент так:
splice ( @rows, ($del-1),1);

Цитата

open (F,">rows.txt");
close (F);
foreach (@rows) {
open (F, ">>rows.txt");
print F $_;
close (F);
}


Вот это охинея нужно делать так:

Код

open (F, ">rows.txt");
flock (F,2);
foreach (@rows) {
print F $_;
}
flock (F,8);
close (F);


Это сообщение отредактировал(а) dimes - 14.9.2004, 08:46
PM ICQ   Вверх
ElectricalStorm
Дата 14.9.2004, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: нет
Всего: 9



Код

while (<DATA>) { print and next unless 3..3 }

__DATA__
1|первая строка|321|
2|вторая строка|11|
3|третья строка|3222|
4|четвертая строка|32|


запускать так
perl script.pl >new_file

Это сообщение отредактировал(а) ElectricalStorm - 14.9.2004, 14:36


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
dimes
Дата 14.9.2004, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 20.7.2004
Где: то около СПБ

Репутация: нет
Всего: 14



ElectricalStorm
издеваешся? biggrin.gif
PM ICQ   Вверх
ElectricalStorm
Дата 14.9.2004, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: нет
Всего: 9



нет ... просто альтернативное решение ...
а их в Perl как извесно очень много ..... smile.gif


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
_eXpLoReR_
Дата 14.9.2004, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.3.2004

Репутация: нет
Всего: нет



Спасибо, парни! cool.gif cool.gif
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.