• # TIMTOWTDI

    Posté par . En réponse au message Appel de fonction dynamique sans eval?. Évalué à 3.

    les solutions restent :
    - une table de hachage qui contient en clé le nom de la sub et en valeur une reference sur une sub anonyme
    - l'import directement dans l'espace de perl de la dite sub

    pour ces deux cas, tu peux faire un truc avec 1 seul eval à l'importation, pleins de eval a chaque appel.

    le principe du 1 seul eval à l'import peut se resoudre encore une fois de plein de maniere differente ... la plus évidente et sans finesse perl ( peu performante mais qui a le merite d'etre clair ) :
    - tu lis le fichier contenant ton source perl
    - tu en fais un eval

    si par hasard, tu lis la doc perl, tu verras qu'il a deux fonctions largement optimisé qui fait cela à l'execution do et require .

    maintenant, n'oublie pas que toute sub que tu as deja importé par require / do / use est directement appelable par appel indirect de fonction grace à &{$nom_de_la_sub} ou $nom_de_la_sub() .

    si tu veux controler un minimum, tu fais l'appel en passant par un code de verification de la chaine contenant le nom de la sub a éxecuter.