Schrift
[thread]6566[/thread]

Problem mit Modules: Ambiguous call resolved as CORE::read()



<< >> 6 Einträge, 1 Seite
Kogge
 2004-12-10 16:17
#49904 #49904
User since
2004-06-17
24 Artikel
BenutzerIn
[default_avatar]
Hallo Zusammen!

Ich bin momentan an einem Cms-Manager creieren, bei dem ich alle Module selber erstellt habe oder von bekannten Modules nur das Notwendige rausgenommen habe. Dabei entsteht beim Apace-log immer die folgende Fehlermeldung: Ambiguous call resolved as CORE::read(), qualify as such or use & at MODULES/MAIN/CGI/MULTIPART.pm line 131. Wo liegt genau das Problem?

Hier noch die Zeile welche die Fehlermeldung liefert.

Code: (dl )
1
2
3
4
5
sub read_from_client {
my($self, $buff, $len, $offset) = @_;
local $^W=0;
return read(\*STDIN, $$buff, $len, $offset);
}
pq
 2004-12-10 16:27
#49905 #49905
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
perldoc perldiag
du hast irgendwo eine subroutine namens 'read' oder
eines deiner benutzten module hat eine solche...
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Relais
 2004-12-10 16:28
#49906 #49906
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Sieht so aus, als habes Du eine Namenskollision bei dem Aufruf "read", der in mindestens einem der Module vorhanden ist, aber auch in Perl selber.

Du sollst diesen Aufruf nun genauer qualifizieren, wenn Du das "read" von Perl meinst, schreibe "CORE::read()",
wenn Du das aus eienem ModulX meinst, schreibe "ModulX::read()".
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
Kogge
 2004-12-10 16:33
#49907 #49907
User since
2004-06-17
24 Artikel
BenutzerIn
[default_avatar]
Das stimmt schon! Im selben Package befindet sich eine Subroutine namens read. Heisst das, dass der Interpreter Probleme hat Subroutine und Perlfunc auseinanderzuhalten!?

Wenn Ja: Gibt es eine Möglichkeit dies zu umgehen ohne den Namen der Subroutine zu ändern (weil ich nicht mehr weiss wo ich den überall gebraucht habe)?
Kogge
 2004-12-10 16:39
#49908 #49908
User since
2004-06-17
24 Artikel
BenutzerIn
[default_avatar]
DANKE HAT GEFUNZT!!
pq
 2004-12-10 16:45
#49909 #49909
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Kogge,10.12.2004, 15:33]Wenn Ja: Gibt es eine Möglichkeit dies zu umgehen ohne den Namen der Subroutine zu ändern?[/quote]
ich schrieb: perldoc perldiag
dort steht die antwort. ja.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 6 Einträge, 1 Seite



View all threads created 2004-12-10 16:17.