Thread Code für HTML::Parser korrekt? (19 answers)
Opened by Gast at 2010-03-01 19:48

sid burn
 2010-03-03 12:56
#133984 #133984
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Quote
Und das find ich öfter mal sehr schade. Wär das nicht gut, wenn genau solche subs in einer sub z.B. den Namensraum der parent sub als globale Variablen wahrnehmen könnten ?

häh?

Quote
Zusätzlich zu den global definierten an sich.

Du nutzt globale Variablen?

Quote
Wenn man bissel TK macht hat man für jede Kleinigkeit schnell ein Rudel subs zusammen, die mit dem Rest des Programms nicht viel zu tun haben. Wäre praktisch, wenn diese dann bequemer auf gemeinsam zu nutzende Variablen zugreifen könnten, ohne exzessive Parameterübergabeorgien zu betreiben :)

Dafür kann man Closures nutzen.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
{ # neuer lexikalischer block
  my ( $x, $y, $z ) = ( 42, 42+1, 42+2 );

  sub foo {
  }

  sub bar {
  }
}


In diesem Beispiel ist $x, $y und $z in foo() und bar() verfügbar und werden praktisch "geshared".

Wenn du allerdiengs Probleme mit zu vielen Parametern hast, hört sich das an als wenn du evtl. OOP nutzen solltest. ;)
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Code für HTML::Parser korrekt?