From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Sergey Degtyaryov X-Mailer: The Bat! (v1.53d) X-Priority: 3 (Normal) Message-ID: <788067515.20010916223855@globetravel.spb.ru> To: Sergei In-Reply-To: <200109161752.f8GHq8e09129@pif.b5.mephi.ru> References: <200109161703.f8GH3Ue08524@pif.b5.mephi.ru> <3BA4E145.F97483FA@zmail.ru> <200109161752.f8GHq8e09129@pif.b5.mephi.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Subject: [mdk-re] =?koi8-r?B?UmU6IFttZGstcmVdIPTBy8HRINDSz8fBIC3BIMvByyAgy9XTwcXU09Eh?= Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru X-Reply-To: Sergey Degtyaryov List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Sun Sep 16 22:29:12 2001 X-Original-Date: Sun, 16 Sep 2001 22:38:55 +0400 Archived-At: List-Archive: List-Post: Доброго времени суток, Sergei, Sunday, September 16, 2001, 9:52:08 PM, Вы сказали буквально следующее S> Я просто хочу стандартный вывод команды ls передать моей программе. Да, тут все верно. К сожалению, но могу проверить работу Вашего скрипта, но скажите, она хоть как-то отрабатывает на каком-нибудь каталоге или уходит в себя? Так сходу некорректная конструкция: ---- while ($file=), однако в таком виде наоборот, Ваш цикл на вызовется ни разу. Вам надо (не меняя Ваши переменные) while () { chomp; $file = $_; дальше по тексту. ---- Что Вы хотите от этой конструкции? if ($file =~ /^\/.*:$/) {...} ---- Но это все от взглядов - проверить не могу, но попробую что-то сделать. -- Rgds, maga, maga@mail.ru >From cornet@zmail.ru Sun Sep 16 22:34:09 2001 Return-Path: Delivered-To: mandrake-russian@localhost.ru.net Received: from frontend2.aha.ru (bird.zenon.net [213.189.198.215]) by linux.ru.net (Postfix) with ESMTP id 8A43718E1 for ; Sun, 16 Sep 2001 22:34:09 +0400 (MSD) Received: from [62.118.142.245] (account cornet@zmail.ru HELO zmail.ru) by frontend2.aha.ru (CommuniGate Pro SMTP 3.5b3) with ESMTP-TLS id 28697891 for mandrake-russian@altlinux.ru; Sun, 16 Sep 2001 22:39:20 +0400 Message-ID: <3BA4F0CE.FF4DBA48@zmail.ru> From: cornet X-Mailer: Mozilla 4.78 [ru] (X11; U; Linux 2.2.19-alt4-up i686) X-Accept-Language: ru, en MIME-Version: 1.0 To: mandrake-russian@altlinux.ru References: <200109161703.f8GH3Ue08524@pif.b5.mephi.ru> <3BA4E145.F97483FA@zmail.ru> <200109161752.f8GHq8e09129@pif.b5.mephi.ru> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Subject: [mdk-re] Re: [mdk-re] =?koi8-r?Q?=F4=C1=CB=C1=D1=20=D0=D2=CF=C7=C1=20=2D=C1=20=CB=C1=CB=20=20=20=CB=D5=D3=C1=C5=D4=D3=D1=21?= Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Sun Sep 16 22:35:01 2001 X-Original-Date: Sun, 16 Sep 2001 22:34:54 +0400 Sergei wrote: > > 16 Сентябрь 2001 21:28, Вы написали: > > А вот это как понимать? > > > > open (FILES,"ls -1aR $dir |") or die; > > > > Вы хотите открыть на чтение одновременно несколько тысяч > > файлов??? > > > > :-)) > > > > К тому же , ИМХО Вы это делаете не верно. Использование > > вложенного вызова делается не двойными, а одинарными обратными > > кавычками, вот такими: "`" > Я просто хочу стандартный вывод команды ls передать моей программе. > В книге "Perl. Библиотека для программиста." написано (цитирую): > ----------------------------- > Проблема: > Вы хотите запустить другую программу и либо прочитать ее вывод, либо > предоставить входные данные. > > Решение: > Вызовите open с символом | в начале или конце строки. Чтобы прочитать вывод > программы, поставьте | в конце: > $pid=open (README, "program arguments |") or die "Couldn't fork: $!\n"; > while () { > #... > } > close (README) or die "Couldn't close: $!\n"; > ------------------------------ > Если это не так, пусть бросят в меня камень :)) А не проще ли @Array=`programm`; и получаем массив строк вывода от programm. ИМХО это надежнее и удобнее, чем мудрить с дескрипторами. Кстати, строка: ls -1aR $dir выводит НЕ только файлы, но и каталоги! Вам это действительно надо? P.S. Если это такая большая черная толстая издательство "Питер" то она есть у меня. Автор местами гонит пургу, о чем есть масса примечаний переводчика. К тому же книга грешит стрельбой из пушек по воробьям в ряде случаев :-)) ИМХО, разумеется. -- ******** FIRE & STEEL ********