Plugins in Perl

Dynamisches (Nach-) Laden von Perl-Modulen

Legal

Zusammenfassung

Dieser Artikel beschreibt kurz, aber trotzdem auführlich genug, wie man in Perl zur Laufzeit Module nachladen kann. Auf diese Art und Weise lassen sich z.B. Plugins realisieren.


Inhaltsverzeichnis

Vorüberlegungen
Implementierung
A. Siehe auch

Vorüberlegungen

http://forum.de.selfhtml.org/?t=149296&m=969530

Implementierung

Das folgende Beispiel zeigt eine simple Idee der Implementierung: Es wird durch alle Perl-Module – Dateien mit der Endung .pm – in einem bestimmten Verzeichnis iteriert und anschließend das entsprechende Modul mittels eval und use geladen.

Beispiel 1. Durchsuchen eines Verzeichnisses nach Perlmodulen und Laden dieser

my $pm;

opendir DH, 'db';

while ($pm = readdir DH) {
        next if $pm =~ /^\./;
        $pm =~ /([[:alpha:]]+)\.pm/;
        eval "use db::$1"
}

closedir DH;
		

A. Siehe auch

  • Dokumentation der Perl-Function eval
  • Dokumentation der Perl-Function use