Thread Werte in Subroutine und zurück mit Modulen (36 answers)
Opened by Brenner at 2009-01-13 17:30

renee
 2009-01-14 11:48
#117922 #117922
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Nur ein paar Anregungen/Hinweise:

Modulnamen, die komplett kleingeschrieben sind, werden in Perl typischerweise für sogenannte Pragmas verwendet. Für "normale" Module verwendet man typischerweise CamelCase. Das ist zwar kein Muss, aber "Best Practice". Ich würde Dir also empfehlen, das Modul z.B. "MyTest" zu nennen.

Du verwendest "use strict" und "use warnings" => Daumen hoch. Sehr gut!

Ist das "use IPC::Open2" ein Überbleibsel aus dem wirklichen Code, oder warum lädst Du das im Modul?

Beim open solltest Du immer die "Richtung" angeben und eine Fehlerbehandlung machen. Es ist auch besser Wiki:lexikalische Filehandles zu verwenden:
Code: (dl )
1
2
3
open( my $fh, '<', 'errormap.txt' ) or die "Fehler: $!";
# '<' zeigt, dass lesender Zugriff ist ('>' steht für schreibend, siehe perldoc -f open)
# in $! steht der Fehler (siehe perldoc perlvar)


In dem Skript hast Du use <PfadzumModul>::test; stehen. Der Packagename ist aber nur "test". Also musst Du auch nur use test; machen. Wenn das Modul außerhalb von @INC (enthält alle Pfade, in denen nach Modulen gesucht wird) liegt, dann musst Du den Pfad mit use lib $pfad hinzufügen.

Nehmen wir also an, das Modul liegt in "/pfad/zu/allen/modulen/test.pm". Dann müsste das in dem Skript so aussehen:
Code: (dl )
1
2
use lib "/pfad/zu/allen/modulen";
use test;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Werte in Subroutine und zurück mit Modulen