Thread Variablen global bei require (49 answers)
Opened by freddy at 2009-08-24 13:38

pq
 2009-08-24 13:57
#124639 #124639
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package ausgelagertes::modul;
use warnings;
use strict;

our $global = 'default';

sub foo {
# nutze $global
}

1;


# ----- skript

use ausgelagertes::modul;

local $ausgelagertes::modul::global = 23;
ausgelagertes::modul::foo();


ansonsten: 1000 aufrufe klingt ein bisschen viel. ich könnte mir vorstellen, dass man da einiges optimieren kann (code-technisch).
mit einem vernünftigen editor kann man aber auch 1000 code-stellen relativ schnell abändern, wenn sie alle ungefähr gleich aussehen.
kurz: ich glaube, es ist der falsche weg, hier eine globale variable zu benutzen, nur weil es so viele aufrufe sind. wenn es wirklich so viele sind, ist mit sicherheit potential da, um weiteren code in subroutinen auszulagern.

edit: ist ausserdem ein schönes beispiel, warum man auch in inline-subs möglichst parameter benutzen sollte statt globals, dann hat man das problem nicht mehr, wenn man später was in ein modul auslagert. leider will solche ratschläge am anfang niemand hören
Last edited: 2009-08-24 13:59:59 +0200 (CEST)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Variablen global bei require