Thread Alias einer Packagevariable mit *variable = \$THISVAR;
(8 answers)
Opened by GwenDragon at 2024-07-08 12:19
Ich habe gerade ein Verständnisproblem mit der Perl-Symboltable und "Aliases" auf Variablen eines Package.
Es sei ein Package so ähnlich deklariert: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package TEST { # Trenner bei Daten in Passwort-/Gruppendateien our $DATA_SEPARATOR = q(::); # Trenner bei mehrfachen Daten our $DATA_SEPARATOR_MULTI = q(,); *SPLITCHARS = \$DATA_SEPARATOR; *SPLITCHARS2 = \$DATA_SEPARATOR_MULTI; sub test { if ( $blocked[$i] =~ /^\Q$user\E\Q$SPLITCHARS/ ) { } }; Nun wirft mir Perl beim Compilecheck das für Zeile if ( $blocked[$i] =~ /^\Q$user\E\Q$SPLITCHARS/ ) { Variable "$SPLITCHARS" is not imported at ...\TEST.pm line .... Global symbol "$SPLITCHARS" requires explicit package name (did you forget to declare "my $SPLITCHARS"?) at ... Ich will, dass über * quasi ein $SPLITCHARS erzeugt wird, das auf $DATA_SEPARATOR zeigt. Wo denke ich falsch? Last edited: 2024-07-08 12:56:54 +0200 (CEST) |