Thread Umgang mit projektweiten Konstanten
(4 answers)
Opened by gkaiser at 2008-01-29 15:30
ich verwende häufig den folgenden Weg:
Ich erstelle mir ein Modul namens MyApp::Config (oder aehnlich), das entweder als Schnittstelle zu textbasierten Konfigurationsdateien (z.B. INI oder YAML) dient (oder auch zu einer DB, in der die Konfig abgelegt ist) oder eventuell auch die Konfiguration enthält. In diesem Modul verwende ich dann Readonly-Packagevariablen, z.B. Code (perl): (dl
)
1 2 3 4 5 use File::Spec; use Readonly; use vars qw( $DataPath ); .... Readonly::Scalar $DataPath => File::Spec->catdir( $FindBin::Bin, 'data' ); und verwende die dann im Programm oder anderen Modulen mit vollem Namen, z.B. $MyApp::Config::DataPath. Die Kombination Constants/Export finde ich aber auch sehr gut, und sie ist wohl weniger Tipparbeit. Nur muss da das Modul in jeder Datei geladen werden, in der die Konfig-Konstanten verwendet werden (oder zumindest ein -f import muss gemacht werden. perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |