Thread [Tk] Icons und Images in externe Datei auslagern (XPM-Format)
(11 answers)
Opened by Kean at 2014-08-07 13:43 Quote Das kann bereits require erledigen, require gibt beim ersten Aufruf die in der Datei notierte letzte Anweisung zurück. Gewöhnlich wird dort eine 1; notiert, Du kannst da aber auch eine Hash-Referenz hinterlegen. Beachte jedoch, dass beim zweiten und jedem weiteren Aufruf mit require in diesem Fall der Rückgabewert nur noch ein wahrer Wert ist. Auf diese Art und Weise kannst Du auch unterhalb des __DATA__ Token beliebige Daten/Sequenzen hinterlegen, wobei eine oberhalb von __DATA__ hinterlegte Funktionsreferenz aus der Sequenz eine Hash-Referenz macht, die beim Aufruf der Funktion zurückgegeben wird. Und wenn Du da einen typeglob verwendest, kannst Du diese Funktion dann beliebig oft aufrufen, also immer dann, wenn ein wahlfreier Zugriff auf die Daten erforderlich ist. Mehr dazu: http://rolfrost.de/reqauto.html und http://rolfrost.de/klassenmethoden.html Edit, Beispiel einer Config, die mit require eingebunden wird. Config Datei Images.pm Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 use strict; use warnings; use Config::IniFiles; do{ my $href = tie my %data, 'Config::IniFiles', -file => *DATA; \%data; }; __DATA__ [foo] bar=123 dog=boo [bar] person=me group=fuzzies Verwendung in der main: Code (perl): (dl
)
1 2 3 4 5 6 7 8 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my $data = require Images; print Dumper $data; Ausgabe der Daten: Code: (dl
)
1 $VAR1 = { Last edited: 2014-08-09 10:36:43 +0200 (CEST) |