Kein Betreff


Sa Jan 30 23:25:33 CET 1999


>From guckes  Sun Jan 31 00:25:34 1999
Return-Path: <owner-linux-l at calle.in-berlin.de>
Delivered-To: guckes at math.fu-berlin.de
Received: (qmail 19395 invoked from network); 30 Jan 1999 23:25:32 -0000
Received: from methan.in-berlin.de (160.45.10.13)
  by leibniz.math.fu-berlin.de with SMTP; 30 Jan 1999 23:25:32 -0000
Received: from calle.in-berlin.de (calle.in-berlin.de [193.175.21.97])
	by methan.in-berlin.de (8.9.1/8.9.1) with ESMTP id AAA16199;
	Sun, 31 Jan 1999 00:25:23 +0100 (CET)
	(envelope-from owner-linux-l at calle.in-berlin.de)
Received: by calle.in-berlin.de (Smail3.2.0.98) 
	  from  localhost with smtp
	  id <m106jen-000A0vC>; Sun, 31 Jan 1999 00:18:29 +0100 (CET)
Received: by calle.in-berlin.de (Smail3.2.0.98)
	  id <m106jeg-000A0Ma>; Sun, 31 Jan 1999 00:18:22 +0100 (CET)
Date: Sun, 31 Jan 1999 00:14:06 +0100 (MET)
From: Oliver Bandel <oliver at first.in-berlin.de>
To: linux-l at calle.in-berlin.de
Subject: Re: linux-l: Perl Hilfe bitte...
In-Reply-To: <14003.9242.452530.36372 at mero.in-berlin.de>
Message-ID: <Pine.LNX.3.95.990131000525.3680B-100000 at first.in-berlin.de>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=ISO-8859-1
Content-Transfer-Encoding: 8BIT
Sender: owner-linux-l at calle.in-berlin.de
Reply-To: linux-l at calle.in-berlin.de
Status: O
Content-Length: 2217
Lines: 75

Hi!

On Sat, 30 Jan 1999, Carsten Wartmann wrote:

> Oliver Bandel writes:
>  > > >Michael Wiedmann writes:
>  > > > > Carsten Wartmann schrieb:
>  > > > > 
>  > > > > > ich brauche mal Hilfe... Ich möchte ein Perl Script haben, welches mit
>  > > > > > ein Directory rekursiv auflistet... Jaja, kein Problem einfach ein
>  > > > > > "ls -lRa", allerdings gibts einige krüpplige ftp-Server, die da nur
>  > > > > > ein nicht-rekursives Listing liefern...
>  > > > > Was dir das aber bei deinem ftp-Problem nützen soll, ist mir nicht
>  > > > > ganz klar?
>  > > >
>  > > >Mir auch nicht... Aber ich werde mal versuchen es zu verstehen.
>  > > 
>  > > Hmmm, nur mal so als Versuch, schau Dir doch mal LWP an. Das kann auch ftp
>  > 
>  > Was ist denn LWP?
>  > Ist das sowas ähnliches wie wget?
>  > 
>  > Was das scannen von ftp-Servern angeht...hmhhh gibts in Perl nicht
>  > für quasi alle Fälle des täglichen Programmiererlebens bereits Module?
> 
> Ich benutze bisher 
> 
> use Net::FTP;
> 
>  > Das Ergebnis muß man dann bloß noch parsen und entsprechend bei
>  > Verzeichnissen eben dann dort hinab steigen und wieder nachschauen.
> 
> DAS ist ja genau mein Problem! "bloß noch parsen" ist nicht so
> einfach, wenn man von perl 1% und von RegEx 0,1% Ahnung hat...

Oh... das ist nicht so schön. Wenigstens Regexpressions sollten
doch - wenigstens halbwegs - sitzen.

Du hast doch sicherlich schon mal mit sed herum gemacht?
Oder mal im vi Suchen und Ersetzen und so...?

Einfaches Konstrukt ist z.B.:

if( /hier_die_such-regexp/ )
{
  print "Ich habe den Suchbegriffgefunden\n";
}


Das ganze wird auf den gesamten Text angesetzt.
Meist baut man um sowas herum eine while-Schleife,
die aus stdin liest.

Das sieht dann so aus:  

while(<>)
{
  # Und hier nun die Sucherei...
  if( /hier_die_such-regexp/ )
  {
    print "Ich habe den Suchbegriffgefunden\n";
  }
}


Jetzt mußt Du natürlich das Ganze irgendwie mit Deinem
ftp-Zugriff verheiraten. => Viel Spaß dabei. :-)

Hinweis: Wenn Du nicht STDIN auslesen willst, sondern einen
Filehandle, dann muß der in die spitzen Klammern des While-
Konstruktes eingetragen werden; man kann auch $_ auf einen
Filehandle setzen (z.B. auch ein Socket).

Tschüß,
   Oliver



Mehr Informationen über die Mailingliste linux-l