Thread variablen des hauptprogramms in modul abrufen (17 answers)
Opened by siggi-gross at 2007-01-19 21:02

siggi-gross
 2007-01-19 21:02
#73346 #73346
User since
2007-01-13
4 Artikel
BenutzerIn
[default_avatar]
Hallo perlianer,

schreibe grad an einem größeren projekt, und habe deswegen einige subs in module ausgelagert, die ich über use einbinde.

in enem der subs muß ich aber auf global deklarierte variablen des hauptprogrammes zurückgreifen, kann diese aber nicht beim aufruf der routine übergeben.

im hauptprogramm sieht das ganz grob so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
use parser;

$a_typ = 'text';
$b_typ = 'link';
...

@out = parser::parse_select($select_req[0]);

...


im parser-modul so:
Code: (dl )
1
2
3
4
5
6
7
...
sub parse_select {
    ...
    if ( eval( '$'.$sel_in.'_typ eq "link" ') ) { ... };
    ...
};
...


die eval-klammer wird ausgewertet nach: if( $a_typ eq "link") oder if( $b_typ eq "link" ) etc.

da es nicht nur einige sondere recht viele  $xx_typ-deklarationen gibt, und je nach script-status anders aussehen, kann ich sie schlecht bei jedem aufruf neu übergeben.

gibt es eine möglichkeit, auf diese variablen in der art
    <aufrufer>$a_typ
zurückzugreifen ?

grüße aus heilbronn
siggi

View full thread variablen des hauptprogramms in modul abrufen