Thread Variable _ ?
(52 answers)
Opened by bianca at 2020-12-25 10:24 2020-12-27T09:05:08 biancaMit Deinem Code bekomme ich auch die Meldung. Aber "vorher: '"._."'" ist auch etwas anderes als -e _ oder stat (_). 2020-12-27T09:05:08 biancaSo eine Meldung zu unterdrücken ist keine gute Idee. Du kannst Dir den Code von Archive::Zip::DirectoryMember ja mal ansehen, ob das dann für Dich funktioniert, wenn stat(_) Unsinn liefert, das kann ich nicht beurteilen. Aber ich habe eine Spur. Dazu wäre es doch noch nötig, die Ersetzung von _ durch $fileName nur an der Stelle vorzunehmen, an der Perl sich beschwert hat: Code (perl): (dl
)
1 2 3 4 5 6 if (-e $fileName) { # -e does NOT do a full stat, so we need to do one now if (-d _ ) { # Das bleibt hier so stehen! # my @stat = stat(_); my @stat = stat($fileName); Ich vermute, das Dein Code dann läuft. Falls dem so ist: Irgendein Teil in Deinem Code übernagelt die stat-Funktion. Das geht, es gibt sogar einen Perl-Modul, der das macht (File::stat), und mit diesem Modul funktioniert (ist dokumentiert) _ nicht. Aber das Modul übernagelt stat nur "lokal" in dem Modul, in dem das use File::stat steht, käme also nicht in den Wirkungsbereich Archive::Zip::DirectoryMember. Damit bleibt der vage Verdacht, dass ein von Dir verwendetes Modul die globale stat-Funktion übernagelt. In diesem Fall kannst Du Dir behelfen, indem Du use Archive::Zip möglichst früh (und wirklich mit use und nicht mit require) einbindest. Dann ist die Auflösung zum "richtigen" stat schon passiert, bevor jemand das überschreibt. |