File::Find - Bug? Alternative?
File::Find - Bug? Alternative?
am 06.11.2006 09:09:59 von Gerhard Wolf
Hallo,
dieses Script:
#!/usr/bin/perl
use File::Find;
my $i=0;
sub wanted {
print "$i\t$File::Find::name\n";
$i++;
}
find \&wanted , 'c:/';
bricht mit dem Fehler:
Can't cd to c:/Dokumente und
Einstellungen/[Gekürzt]/schema../../../../../../.. at
D:/Perl/lib/File/Find.pm line 940.
ab. In Find.pm habe ich aus Zeile 940
940: die "Can't cd to $dir_name" . $tmp
941 unless chdir ($tmp);
.....
940: die "Can't cd to $tmp" . $tmp
941 unless chdir ($tmp);
gemacht und als Ergebnis die Ausgabe:
Can't cd to ../../../../../../..../../../../../../.. at
D:/Perl/lib/File/Find.pm line 940.
erhalten. Bug? Die Module Version: 1.10 scheint aktuell.
Welche Alternative sollte ich zu File::Find auf meinem Win32 System
verwenden?
Re: File::Find - Bug? Alternative?
am 06.11.2006 10:20:37 von Daniel Fischer
Gerhard Wolf!
> [..] In Find.pm habe ich aus Zeile 940
>
> 940: die "Can't cd to $dir_name" . $tmp
> 941 unless chdir ($tmp);
> ....
> 940: die "Can't cd to $tmp" . $tmp
> 941 unless chdir ($tmp);
>
> gemacht und als Ergebnis die Ausgabe:
>
> Can't cd to ../../../../../../..../../../../../../.. at
> D:/Perl/lib/File/Find.pm line 940.
>
> erhalten. Bug? Die Module Version: 1.10 scheint aktuell.
Ähhh. Also nochmal von vorn. Du hast in Find.pm die Ausgabe von (fast)
richtig in falsch geändert und wunderst Dich jetzt, dass etwas falsches
ausgegeben wird (nämlich zweimal $tmp hintereinander anstatt $dir_name
und $tmp)?
File::Find kennt noch ein paar Optionen, vielleicht lässt sich das
ursprüngliche Problem damit lösen oder umgehen.
Gruß
Daniel
Re: File::Find - Bug? Alternative?
am 06.11.2006 10:50:10 von Gerhard Wolf
Daniel Fischer schrieb:
> Gerhard Wolf!
>
>> [..] In Find.pm habe ich aus Zeile 940
>>
>> 940: die "Can't cd to $dir_name" . $tmp
>> 941 unless chdir ($tmp);
>> ....
>> 940: die "Can't cd to $tmp" . $tmp
>> 941 unless chdir ($tmp);
>>
>> gemacht und als Ergebnis die Ausgabe:
>>
>> Can't cd to ../../../../../../..../../../../../../.. at
>> D:/Perl/lib/File/Find.pm line 940.
>>
>> erhalten. Bug? Die Module Version: 1.10 scheint aktuell.
>
> Ähhh. Also nochmal von vorn. Du hast in Find.pm die Ausgabe von (fast)
> richtig in falsch geändert und wunderst Dich jetzt, dass etwas falsches
> ausgegeben wird (nämlich zweimal $tmp hintereinander anstatt $dir_name
> und $tmp)?
>
> File::Find kennt noch ein paar Optionen, vielleicht lässt sich das
> ursprüngliche Problem damit lösen oder umgehen.
>
>
> Gruß
> Daniel
Ja stimmt, wollte ich gerade richtig stellen. Das Problem bleibt leider!
Re: File::Find - Bug? Alternative?
am 06.11.2006 11:34:25 von Daniel Fischer
Gerhard Wolf!
> Ja stimmt, wollte ich gerade richtig stellen. Das Problem bleibt leider!
Und, hast Du die Optionen mal ausprobiert? Es gibt z.B. eine, die find
dazu veranlasst, gar kein chdir auszuführen.
Gruß
Daniel
Re: File::Find - Bug? Alternative?
am 06.11.2006 11:41:11 von Gerhard Wolf
Daniel Fischer schrieb:
> Gerhard Wolf!
>
>> Ja stimmt, wollte ich gerade richtig stellen. Das Problem bleibt leider!
>
> Und, hast Du die Optionen mal ausprobiert? Es gibt z.B. eine, die find
> dazu veranlasst, gar kein chdir auszuführen.
>
>
> Gruß
> Daniel
Ja Danke das wars ... leider hat mich die IDE noch gefoppt und den alten
Code ausgeführt :"-|
Re: File::Find - Bug? Alternative?
am 07.11.2006 11:07:38 von Daniel Fischer
Gerhard Wolf!
> Ja Danke das wars ... leider hat mich die IDE noch gefoppt und den alten
> Code ausgeführt :"-|
Benutzt du zufällig Eclipse mit EPIC? Da musste ich auch "Build
Automatically" einschalten, um das abzustellen.
Gruß
Daniel
Re: File::Find - Bug? Alternative?
am 07.11.2006 14:18:26 von Gerhard Wolf
Daniel Fischer schrieb:
> Gerhard Wolf!
>
>> Ja Danke das wars ... leider hat mich die IDE noch gefoppt und den alten
>> Code ausgeführt :"-|
>
> Benutzt du zufällig Eclipse mit EPIC? Da musste ich auch "Build
> Automatically" einschalten, um das abzustellen.
>
>
> Gruß
> Daniel
>
Ja ich habe Eclipse mit EPIC. Danke für den Hinweis! Das Problem steckt
tiefer. Die Code-Änderungen werden selbst nach dem Beenden von Eclipse
nicht auf Platte geschieben. Das Perl-Prog. ist auch nur 1x auf der
(den) Platte(n) existent.
Mit VIM oder Notepad geändert und anschließend in Eclipse geladen zeigt
die Änderungen an. Da muss ich mal etwas weiter forschen......
Re: File::Find - Bug? Alternative?
am 07.11.2006 15:22:56 von Gerhard Wolf
Daniel Fischer schrieb:
> Gerhard Wolf!
>
>> Ja Danke das wars ... leider hat mich die IDE noch gefoppt und den alten
>> Code ausgeführt :"-|
>
> Benutzt du zufällig Eclipse mit EPIC? Da musste ich auch "Build
> Automatically" einschalten, um das abzustellen.
>
>
> Gruß
> Daniel
>
Jetzt nachdem ich das Projekt gelöscht, ein neues erstellt und !!! das
'Perl File' neu erstellt, den vorhandenen Code eingefügt habe, steht das
was in Eclipse am Code geändert wurde auch sofort auf der Platte.
Gruß Gerhard