Hallo Otto,
Die bisherigen Lösungsansätze die ich habe gefallen mir alle nicht so richtig. Was ich im Grunde möchte ist gemeinsame Funktionalität in gemeinsamen Dateien auslagern. Soweit ich das bei Perl verstanden habe, brauche ich dann Module.
--- ich habe folgenden Lösungsansatz gewählt:
im cgi-bin befinden sich a.pm, b.pm und Routines.pm.
a.pm
--------------------------------
#!/usr/bin/perl -w
use strict;
use Routines qw(
erhoehe_zaehler
debug
);
b.pm
--------------------------------
#!/usr/bin/perl -w
use strict;
use Routines qw(
aendere_daten
lade_daten
debug
);
Routines.pm
---------------------------------
package Routines;
require Exporter;
@ISA = qw( Exporter
);
@EXPORT = qw(
aendere_daten
erhoehe_zaehler
debug
lade_daten
);
@EXPORT_OK = @EXPORT;
use strict;
sub erhoehe_zaehler {
my ( $zaehler, $wert ) = @_;
...usw...
}
Alle ausgelagerten Funktionalitäten befinden sich als Subroutinen in Routines.pm. Je nachdem, welche ich benötige, binde ich sie am Anfang des Scripts ein. In @EXPORT müssen alle Subroutinen stehen, damit sie exportiert werden können. Ich finde diese Lösung sehr übersichtlich und deutlich einfacher, als _richtige_ Module zu bauen und zu installieren. Ich habe zusätzlich noch Templates.pm als Sammeldatei für Vorlagen und Variablen, die ich so konzentriert an einer Stelle für das ganze Projekt zusammen habe und entsprechend des Bedarfs in den Scripten einbinde.
Besten Gruß
JOhnnY