Den Syntax verstehe ich nicht ganz, kann mir mal einer das erklären?[/quote] perldoc -f scalar
scalar EXPR
Forces EXPR to be interpreted in scalar context and returns the
value of EXPR.
@counts = ( scalar @a, scalar @b, scalar @c );
There is no equivalent operator to force an expression to be
interpolated in list context because in practice, this is never
needed. If you really wanted to do so, however, you could use
the construction "@{[ (some expression) ]}", but usually a
simple "(some expression)" suffices.
Because "scalar" is unary operator, if you accidentally use for
EXPR a parenthesized list, this behaves as a scalar comma
expression, evaluating all but the last element in void context
and returning the final element evaluated in scalar context.
This is seldom what you want.
The following single statement:
print uc(scalar(&foo,$bar)),$baz;
is the moral equivalent of these two:
&foo;
print(uc($bar),$baz);
See perlop for more details on unary operators and the comma
operator.
my @array = (1..9); my $anzahl = $#array + 1; printf "Arraygroesse: %d", $anzahl
,,Das perlt aber heute wieder...'' -- Dittsche
eisbeer
2003-09-26 08:32
User since 2003-08-29
347
Artikel BenutzerIn
Ja, esskars version ist wahrscheinlich einen tick besser,
besonders wenn man die anzahl der einträge in einer langen
Kette von Berechnungen etc. verwenden will, ohne die
anzahl in einem skalar zu speichern...
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...