Use of uninitialized value in concatenation (.) or string
Markus Bauer
- perl
Servus.
Bin echt schon verzweifelt. Ich weiss was die verdammte Meldung bedeutet trotzdem MUSS sie weg.
find({ wanted => &d }, "/mnt/data");
sub d
{
my $file = $File::Find::name;
return unless -f $file;
(....)
}
Also wirklich ein ganz NORMALES Anwendungsgebiet von find. Nur kommt diese verdammte Meldung ab und zu und ich kann machen, was ich will. Egal, ob ich $file vorher mit "" initialisiere oder verschiedene Abfragen mache...
Wie bring ich das weg??
Danke
Hallo Markus,
return unless -f $file;
Du meinst sicher
return unless $file && -f $file;
Grüße,
CK
Bin echt schon verzweifelt. Ich weiss was die verdammte Meldung bedeutet trotzdem MUSS sie weg.
Die Fehlermeldung kommt 100% nicht aus den Zeilen die du zeigst, da hier gar keine Stringverkettung stattfindet.
Auch $file sollte immer definiert sein, da das ja ein Ergebnis einer anderen Funktion ist.
find({ wanted => &d }, "/mnt/data");
sub d
{
my $file = $File::Find::name;
return unless -f $file;
Ich vermute, dass du mit dem Rückgabewert weiter arbeitest und daher die Meldung erhälst.
Also hilft dir evtl.:
return '' unless -f $file;
Struppi.