package sprache; # ok. der Name des Paketes
use strict; # auch klar
Soweit ist ja alles klar!
use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); # ???
use vars qw(%deutsch %englisch %franzoesisch); # sind meine Variablen, aber warum dahin schreiben und dann noch mit use?
mit use vars() machst Du Variablen bekannt, so ähnlich, wie Du es in anderen Programmen mit
my machst! Du kannst die beiden Zeilen auch weglassen und die Variablen dafür mit
our deklarieren (siehe
perldoc strict)
use HTML::Entities; #klar, einbinden des anderen Modules
require 5.004; # vermutlich die Perlversion die benötigt wird, woher weiß ich was für meinen Code gilt?
require 5.004 ist z.B. nur notwendig, wenn Du auf Perl-Features zugreifst, die erst ab einer bestimmten Perl-Version dabei waren. Um dann noch sicher zustellen, dass Dein Modul funktioniert, gibst Du an, welche Perl-Version mindestens installiert sein muss. Ist nicht unbedingt notwendig, wenn Du nur Variablen mit dem Modul zur Verfügung stellst.
require Exporter; # ???
@ISA = qw(Exporter); # ???
@EXPORT = qw(g_w); # das ist die sub die ich bei Aufruf exportieren will
@EXPORT_OK = qw(%deutsch %englisch %franzoesisch); # ??? nochmal meine Variablen
mit dem Export-Zeugs machst Du die Sachen in Deinem Skript bekannt. Dann ist Vorsicht mit der Variablenbenennung gefragt!
mit
use sprache qw(%deutsch); könntest Du jetzt direkt auf %deutsch im Skript zugreifen...
$VERSION = '0.01'; # die, vemutlich nicht notwendige Versionsnummer dieses Modules
ist nur dann notwendig, wenn du das Modul auf CPAN veröffentlichst
require HTML::Entities; # vermutlich fataler error wenn HTML::Entities nicht da ist
richtig! In einer CPAN-Distribution würde man das als Voraussetzung kennzeichnen, da Du aber weißt Dass Du es brauchst, wirst Du es sicherlich auch installieren ;)