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.