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
Mitglied 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

Mitglied 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
Mitglied 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 bei Installation aus Microsoft-Store

    Problem bei Installation aus Microsoft-Store: Guten Tag. Ich habe mir über die Nacht das Spiel Forza Horizon 4 aus dem XBox Game Pass heruntergeladen und wollte eine Desktop-Verknüpfung dazu...
  • Problem bei Windows 10 Aktivierung nach Hardwareänderung

    Problem bei Windows 10 Aktivierung nach Hardwareänderung: Guten Tag, mein alter PC ist vor kurzem kaputt gegangen und ich habe mir einen neuen geholt. Ich habe mich anschließend mit meinem...
  • Problem mit Hotspot-Verbindung

    Problem mit Hotspot-Verbindung: Die Verbindung zum Internet über den Hotspot meines IPhone X macht Probleme. Anfänglich war eine Verbindung möglich, jetzt geht es wieder nicht...
  • Problem registering Surface Hub 2S with Teams

    Problem registering Surface Hub 2S with Teams: We have run a customer demo with Microsoft Surface Hub 2S. Deployment of device went fine; users were able to sign in with their (Azure AD-synced)...
  • Akku Problem, Recovery fehlgeschlagen, Neuinstallation nicht möglich...und nun?

    Akku Problem, Recovery fehlgeschlagen, Neuinstallation nicht möglich...und nun?: Hallo, seit dem mein Surface 4 Pro vor einiger Zeit ein paar Updates gezogen hat, läd mein Akku nicht mehr, obwohl der Stecker normal leuchtet...
  • Ähnliche Themen

    Oben