Schrift
[thread]757[/thread]

Einbinden von Modulen mit use - Problem mit if



<< >> 2 Einträge, 1 Seite
Gast Gast
 2006-06-20 13:27
#8072 #8072
Hallo alle zusammen!

Ich habe Folgendes Problem:
Ich möchte abhänig vom Usertype unterschiedliche Module laden.

Mein Code sieht so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
 if( $userType eq "a" ) 
{
use A_links;
}
elsif( $userType eq "b" )
{
use B_links;
}
elsif( $userType eq "c" )
{
use C_links;
}



Die Prüfung des Usertypen passt auf alle Fälle, es wird in die richtige if-Abfrage gesprungen.
Aber es werden dennoch alle drei "use x_links;" geöffnet...
Auch wenn der userType gar nicht passt und keine if-Bedingung erfüllt ist, werden alle Module geladen.

Warum? :)

Vielen Dank!

Sonnige Grüße

Tom
pq
 2006-06-20 13:32
#8073 #8073
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
use findet zur compile-zeit statt, unabhängig also von allen bedingungen.
das ist ein feature.
wenn du zur laufzeit laden willst, musst du require statt use benutzen.
siehe:
perldoc -f use
perldoc -f require
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
<< >> 2 Einträge, 1 Seite



View all threads created 2006-06-20 13:27.