Je peux l'utiliser pour inclure un fichier a.pl
:Comment puis-je 'exiger' une bibliothèque Perl adressée par un chemin renvoyé par un sous-programme?
require 'a.pl';
Ou je peux l'utiliser:
$fn = 'a.pl';
require $fn;
Cependant, un sous-programme ne fonctionnera pas:
sub fn { return 'a.pl'; }
require fn(); # This is a syntax error
est-il une syntaxe pour permettre cela? J'ai remarqué que je peux contourner le problème via
sub fn { return 'a.pl'; }
require eval("fn()");
... mais ce n'est pas très joli.
ou tu pourrais ajouter un & :) – ysth
Oh, je n'y ai pas pensé! Oui, tout ce qui empêche un jeton bareword directement après 'require' fonctionne (sauf unary +', pour une raison quelconque?). Mais restons collés à Modern Perl, et ne parlons plus jamais des appels de style '& foo()': D – amon
oui, ~~ fonctionne aussi :) – ysth