frage:
angenommen ich lese die cgi-query über das ARGS - Hash aus.
weiters kann entweder der Fall
ARGS{var} = Skalar oder
ARGS{var} = Referenz auf Array
auftreten.
Wie frag ich ab, welche der beiden Fälle es ist ???
mfg
edit: workaround gefunden
frage:
angenommen ich lese die cgi-query über das ARGS - Hash aus.
weiters kann entweder der Fall
ARGS{var} = Skalar oder
ARGS{var} = Referenz auf Array
auftreten.
Wie frag ich ab, welche der beiden Fälle es ist ???
mfg
edit: workaround gefunden
shabby <shabby> wrote:
>angenommen ich lese die cgi-query über das ARGS - Hash aus.
>weiters kann entweder der Fall
>ARGS{var} = Skalar oder
>ARGS{var} = Referenz auf Array
>auftreten.
>Wie frag ich ab, welche der beiden Fälle es ist ???
perldoc -f ref
HTH
slayven
danke, ich bin perl einsteiger
übrigens mein workaround war:
if(defined @{ARGS{name}})
mfg
shabby <shabby> wrote:
>danke, ich bin perl einsteiger
>
>übrigens mein workaround war:
>
>if(defined @{ARGS{name}})
>
Das wird unter strict und warnings fehler ausspucken, wenn du
versucht ein SCALAR zu dereferenzieren. Bei einem Array sollts
aber passen, ja.
slayven
Die Funktion ref( $arg ) fragt einen Skalar ab, obs eine Referenz ist oder nicht; gibt falsch zurueck, falls das Argument ein String oder eine Zahl ist, wenn es sich um eine Referenz handelt, kriegst einen String, der aussagt, was fuer eine Art von Referenz es ist:
SCALAR, HASH, ARRAY, REF ( Referenz auf eine Referenz ), CODE ( Ref auf eine sub ), GLOB ( Ref auf Typeglob );
ein Beispiel:
my %hash;
my $hashref = \%hash; # oder: my $hashref = ();
print ref( $hashref ); # gibt HASH zurueck
my $string = "Perl Rulez\n";
print ref ( $string ); # gibt false zurueck
btw, eine Referenz ist immer ein Skalar
ciao
Oliver
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!