[quote=Crian,10.Feb..2004, 18:45]Ich habe das Problem, dass in meinem
GED-Projekt ein Modul enthalten ist, das den gleichen Namen besitzt wie eines auf dem CPAN.
Nun wurde mir geraten, meine Module in den Namensraum GED:: zu stellen, aber eigentlich möchte ich nicht, dass dann alle Aufrufe im Quellcode so lang werden. Hmmm ich glaub das sind gar nicht so viele.
[/quote]
Wenn es sich um ein objekt-orientiertes Modul handelt, wird nur der Konstruktoraufruf laenger. Ansonsten sollte mal wohl den Exporter und @EXPORT_OK bemuehen.
QuoteWie macht man das dann, setzt man die Namen der Pakete in den entsprechenden Moduldateien um und verschiebt die Module in ein GED Unterverzeichnis? (Ich glaub so oder ähnlich habe ich das schon mal gemacht.)
Oder gibt es noch andere Wege, die Namenskonflikte zu umgehen (mal abgesehen davon den Modulen andere Namen zu geben)?
Guck dir mal das Layout von
http://prdownloads.sourceforge.net/ptktool....ownload and. Dort gibt es ein Verzeichnis lib/Earthclock, wo Module, die nur sinnvoll zusammen mit dem Programm benutzbar sind, abgelegt sind. Wenn man jetzt im Skript
use FindBin;
use lib "$FindBin::Bin/lib/Earthclock";
schreibt, kann man auf diese Module ohne den Prefix "Earthclock::" zugreifen, also
statt
use Earthclock::Win32Util
Damit das auch funktioniert, nachdem das Programm installiert wurde, solltest du in den ersten BEGIN-Block von earthclock schauen.