- RU.PERL ----------------------------------------------------------- RU.PERL - Msg : #1064 [644] От : Artem Chuprina 2:5020/400 01 ноября 03, 10:47 Кому : Alexander Onokhov 03 ноября 03, 23:37 Тема : Re: Удалить строки в файле (виртуально) ------------------------------------------------------------------------------- From: Artem ChuprinaХмутро. AO> > Подскажите как можно виртуально удалить строчки в файле ? Вот например AO> > открыли файл для чтения, который состоит из 10 строк: open (T, "f.txt"); AO> > @lines = ; close(T); Ему присвоена переменная @lines. А теперь нужно AO> > удалить (виртуально) строчки которые равны "www". Hапривер таких строчек AO> > 4. Значит после удаления переменная @lines должна быть равна этому AO> > открытому файлу но без строчек равных "www". В итоге должно получиться AO> > что переменная файла @lines состоит из 6 строчек (естественно без AO> > строчек равных "www"). Главное чтобы с переменной @lines можно было AO> > работать, как будто строк www там и небыло. AO> open (T, "f.txt"); @lines = grep{$_ ne "www\n"} ; close(T); Альтернатива (в данном случае более геморройная, но иногда единственно возможная) - splice. -- Artem Chuprina RFC2822: , FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400)