Thread Schnittstellen, und globale Variablen (7 answers)
Opened by pktm at 2008-01-17 00:23

Strat
 2008-01-18 11:38
#104883 #104883
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Genau. Globale Variablen verwende ich höchstens für Konfiguration, die dann Readonly ist, und die vom Namen her klar erkennbar sind, z.B.
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
package MyApp::Config;
use warnings;
use strict;
use Readonly;

use vars qw( %Fonts );

Readonly::Hash %Fonts => (
    default => 'Arial 12 normal',
    bold     => 'Arial 12 bold',
);

und dann als Verwendung:
Code (perl): (dl )
1
2
3
4
5
6
7
sub CreateLabel {
    my( $parent, $text, ... ) = @_;

    $parent->Label( -font => $MyApp::Config::Fonts{default},
                            -text  => $text,
                            ...
                           );


Aber bei klassischer oder OOP-Programmierung ist es meist "schoener", wenn man auch die Config als Objekt verpackt und dann mit in die Subroutinen reingibt. Nur - wie im Beispiel - bei der ereignisgesteuerten Programmierung (z.B: GUIs) ist das manchmal schwierig.
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Schnittstellen, und globale Variablen