Thread Ist Module::Load unsicher (37 answers)
Opened by Max_Perlbeginner at 2017-09-06 14:28

renee
 2017-09-08 11:30
#187374 #187374
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
2017-09-07T07:37:52 rosti
2017-09-07T07:20:59 Max_Perlbeginner
eval "require $module" ist dafür erforderlich, dass Perl $module als Bareword behandelt. Wenn ich nur require $module schreiben würde, wäre das nicht der Fall, weswegen sich require anders als erwartet verhalen würde. Details, siehe hier


Du musst mich nicht auf die Dokumentation verweisen, die kenne ich.
Das kann Max_Perlbeginner ja nicht wissen ;-) Außerdem sind solche Links vielleicht für andere hilfreich
2017-09-07T07:37:52 rosti
Gerade require braucht ja kein Bareword, da kannst Du auch Variablen einsetzen und das Tolle daran ist, require guckt selbst in @INC. Du musst allenfalls den :: durch / ersetzen und dann geht das auch ohne Umschweife direkt:

Code (perl): (dl )
1
2
my $module = "CGI::Cookie";
do{$module =~ s|::|/|g; require "$module.pm";}



MfG
Ihr habt ja beide recht. Einfach require $module würde nicht reichen. Also entweder ein String-eval oder vorher in einen Pfad umwandeln... (wobei ich auch eher erst die Umwandlung in einen Pfad machen würde)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Ist Module::Load unsicher