externes Modul in eigenes Programm kopieren?

17/01/2011 - 15:57 von Ulli Horlacher | Report spam
Gibt es eine Standardmethode wie man ein externes Modul in ein eigenes
Programm reinkopieren und benutzen kann?

Also nicht mittels "use" oder "require" nachladen, sondern direkt in den
Sourcecode mit aufnehmen.

Konkrete Anwendung:

Ich moechte Tk::FileSelect in mein eigenes Programm aufnehmen (und
modifizieren). Dazu hab ich erstmal /usr/lib/perl5/Tk/FileSelect.pm
einfach reinkopiert (am Source Code Ende) und die Zeile "use Tk::FileSelect"
auskommentiert. Leider funktioniert das so nicht, Es kommt zur
Fehlermeldung:

Assuming 'require Tk::FileSelect;' at /home/framstag/bin/schwuppdiwupp.pl line 243
Subroutine import redefined at /usr/lib/perl5/Tk/FileSelect.pm line 49.
Subroutine Cancel redefined at /usr/lib/perl5/Tk/FileSelect.pm line 68.
Subroutine Accept redefined at /usr/lib/perl5/Tk/FileSelect.pm line 74.
Subroutine Accept_dir redefined at /usr/lib/perl5/Tk/FileSelect.pm line 149.
Subroutine Populate redefined at /usr/lib/perl5/Tk/FileSelect.pm line 155.
Subroutine translate redefined at /usr/lib/perl5/Tk/FileSelect.pm line 271.
Subroutine glob_to_re redefined at /usr/lib/perl5/Tk/FileSelect.pm line 283.
Subroutine filter redefined at /usr/lib/perl5/Tk/FileSelect.pm line 290.
Subroutine regexp redefined at /usr/lib/perl5/Tk/FileSelect.pm line 308.
Subroutine defaultextension redefined at /usr/lib/perl5/Tk/FileSelect.pm line 325.
Subroutine directory redefined at /usr/lib/perl5/Tk/FileSelect.pm line 342.
Subroutine reread redefined at /usr/lib/perl5/Tk/FileSelect.pm line 415.
Subroutine validateDir redefined at /usr/lib/perl5/Tk/FileSelect.pm line 473.
Subroutine validateFile redefined at /usr/lib/perl5/Tk/FileSelect.pm line 487.
Subroutine Error redefined at /usr/lib/perl5/Tk/FileSelect.pm line 536.
Subroutine Show redefined at /usr/lib/perl5/Tk/FileSelect.pm line 545.
Subroutine FDialog redefined at /usr/lib/perl5/Tk/FileSelect.pm line 561.

Es wird also ein implizites "require Tk::FileSelect" gemacht, obwohl ich
das gar nicht will. Ich braeuchte so was wie
"require LocalFile::Tk::FileSelect"

(Wie) geht das?




Ullrich Horlacher Informationssysteme und Serverbetrieb
Rechenzentrum E-Mail: horlacher@rus.uni-stuttgart.de
Universitaet Stuttgart Tel: ++49-711-685-65868
Allmandring 30 Fax: ++49-711-682357
70550 Stuttgart (Germany) WWW: http://www.rus.uni-stuttgart.de/
 

Lesen sie die antworten

#1 Ulli Horlacher
17/01/2011 - 21:44 | Warnen spam
Ulli Horlacher wrote:


Es wird also ein implizites "require Tk::FileSelect" gemacht, obwohl ich
das gar nicht will. Ich braeuchte so was wie
"require LocalFile::Tk::FileSelect"

(Wie) geht das?



Hab einen hack gefunden:

use Tk::FileSelect;

{
local $^W = 0;
local $/;
eval <DATA>;
}

(...)

__DATA__

package Tk::FileSelect;

(...)




Ullrich Horlacher Informationssysteme und Serverbetrieb
Rechenzentrum E-Mail:
Universitaet Stuttgart Tel: ++49-711-685-65868
Allmandring 30 Fax: ++49-711-682357
70550 Stuttgart (Germany) WWW: http://www.rus.uni-stuttgart.de/

Ähnliche fragen