Problem mit Perl-Skript

Diskutiere Problem mit Perl-Skript im Programmierung Forum im Bereich Software Forum; Hallo. Ich bin ein noch ein blutiger Perl-Anfänger und versuche ein kleines Skript zur Suche nach Dateien unter Verwendung einer rekursiven...
L

Lord Muldisoft

Threadstarter
Dabei seit
04.04.2007
Beiträge
12
Hallo. Ich bin ein noch ein blutiger Perl-Anfänger und versuche ein kleines Skript zur Suche nach Dateien unter Verwendung einer rekursiven Subroutine zu schreiben. Ich finde aber einfach nicht heraus, warum es nicht funktioniert - wenn ich das Skript starte testet er zwar eine "Pfadlinie" durch, aber der Rest (der ja eigentlich nach Rückkehr in den jeweiligen Abschnitt der rekursiven Subroutine ausgeführt werden sollte) wird merkwürdiger Weise nicht erreicht.
Hier erstmal das Programm:

#C:\Programme\perl -w

print "Suche alle Dateien mit der Endung: ";
$reg = "*.".<STDIN>;
chomp($reg);
print "Suche in Verzeichnis: ";
$dir = <STDIN>;
chomp($dir);
search($dir);

sub search
{
print "betrete $_[0]\n";
local $j;
local $i;

chdir($_[0]);
foreach $i (glob("$reg"))
{
print $i."\n";
}

unless(opendir(DIR, $_[0]))
{
return "konnte Verzeichnis ".$_[0]." nicht oeffnen";
}

while(defined($j = readdir(DIR)))
{
print $j."\n";

if((-d $j) and ($j ne ".") and ($j ne ".."))
{
search($_[0]."\\".$j);
}
}

closedir(DIR);

print "verlasse ".$_[0]."\n";
}

Kann mir jemand bei meinem Problem helfen? Sicherlich ist es bloß so ein blöder Anfängerfehler, aber ich komme einfach nicht drauf.
 
S

SteinBeiser

Dabei seit
14.02.2007
Beiträge
74
Unter windoof laut SelfHTML

glob - Dateien mit Wildcards auswählen

Wählt aus einem Verzeichnis alle Dateien aus, die einem bestimmten Dateinamenmuster entsprechen. Das ist wesentlich einfacher als das Operieren mit den Funktionen Seite opendir, Seite readdir und Seite closedir. Der Nachteil von glob ist allerdings, dass diese Funktion eine Unix-Shell startet, um an ihr Ergebnis zu kommen. Die Funktion ist daher nur auf Unix-Systemen verfügbar, und ausführbar ist sie auch nur, wenn das Script ausreichende Rechte zum Starten der Shell besitzt. Es gibt jedoch bei den Seite Standardmodulen für Dateiverwaltung ein Modul, das den glob-Algorithmus komplett in Perl ausführt.

unter linux:
#!/usr/bin/perl -w

print "Suche alle Dateien mit der Endung: ";
$reg = "*.".<STDIN>;
chomp($reg);
print "Suche in Verzeichnis: ";
$dir = <STDIN>;
chomp($dir);
search($dir);

sub search
{
print "betrete $_[0]\n";
local $j;
local $i;
local @dir;

chdir($_[0]);
foreach $i (glob("$reg"))
{ print $i."\n"; }

unless(opendir(DIR, $_[0]))
{ return "konnte Verzeichnis ".$_[0]." nicht oeffnen"; }
@dir = readdir(DIR);
closedir(DIR);
foreach( @dir )
{
$j = $_;
####print $_[0]."/".$j."\n";

if((-d $_[0]."/".$j) and ($j ne ".") and ($j ne ".."))
{
search($_[0]."/".$j);
}
}
print "verlasse ".$_[0]."\n";
}
 
L

Lord Muldisoft

Threadstarter
Dabei seit
04.04.2007
Beiträge
12
Vielen Dank. Das hat mir sehr geholfen.
 
Thema:

Problem mit Perl-Skript

Problem mit Perl-Skript - Ähnliche Themen

  • Problem mit der Grafik

    Problem mit der Grafik: Hallo zusammen, ich habe ein Problem mit Windows 10 2004! Und zwar ich musste kürzlich das Laptop neu aufsetzen! Dabei habe ich mir gleich einen...
  • Windows 10 Anzeigenskalierung Problem

    Windows 10 Anzeigenskalierung Problem: Hallo, ich habe ein Problem mit der Anzeigensklaierung von Windows 10. Wenn ich die Größe von Text, Apps etc. z.B. auf 150% stelle...
  • Weiterhin Problem MSI Dateien in Share zu aktualisieren trotz KB4557957

    Weiterhin Problem MSI Dateien in Share zu aktualisieren trotz KB4557957: Windows 10 - 2004 Wir haben das Problem, dass MSI Upgrades in Netzwerkshares mit einem Fehler 1315 quitiert werden (Produkt: xyz -- Fehler 1315...
  • Update Problem: Temporären Profil

    Update Problem: Temporären Profil: Schon wieder Probleme mit den Windows Updates. Hatte bereits im Februar das gleiche Problem mit den Sicherheits Updates von Windows 10. Nach...
  • Ähnliche Themen
  • Problem mit der Grafik

    Problem mit der Grafik: Hallo zusammen, ich habe ein Problem mit Windows 10 2004! Und zwar ich musste kürzlich das Laptop neu aufsetzen! Dabei habe ich mir gleich einen...
  • Windows 10 Anzeigenskalierung Problem

    Windows 10 Anzeigenskalierung Problem: Hallo, ich habe ein Problem mit der Anzeigensklaierung von Windows 10. Wenn ich die Größe von Text, Apps etc. z.B. auf 150% stelle...
  • Weiterhin Problem MSI Dateien in Share zu aktualisieren trotz KB4557957

    Weiterhin Problem MSI Dateien in Share zu aktualisieren trotz KB4557957: Windows 10 - 2004 Wir haben das Problem, dass MSI Upgrades in Netzwerkshares mit einem Fehler 1315 quitiert werden (Produkt: xyz -- Fehler 1315...
  • Update Problem: Temporären Profil

    Update Problem: Temporären Profil: Schon wieder Probleme mit den Windows Updates. Hatte bereits im Februar das gleiche Problem mit den Sicherheits Updates von Windows 10. Nach...
  • Oben