Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5763[/thread]

Wieviel Einträge sind im Array?



<< |< 1 2 >| >> 14 Einträge, 2 Seiten
skontox
 2003-09-25 21:37
#56877 #56877
User since
2003-08-06
193 Artikel
BenutzerIn
[default_avatar]
Ich möchte gerne herausbekommen wieviel Einträge in einem bestimmten Array sind. Wie ging das noch?

Gruß skontox
eisbeer
 2003-09-25 21:38
#56878 #56878
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ganz simpel ;)

Code: (dl )
my $anzahl_eintraege = @array;
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
skontox
 2003-09-25 21:43
#56879 #56879
User since
2003-08-06
193 Artikel
BenutzerIn
[default_avatar]
Danke schön eisbeer! :-)

Gruß skontox
esskar
 2003-09-26 00:33
#56880 #56880
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
finde es so besser...

Code: (dl )
my $anzahl_eintraege = scalar @array;
skontox
 2003-09-26 01:29
#56881 #56881
User since
2003-08-06
193 Artikel
BenutzerIn
[default_avatar]
Auch Dir danke!

Gruß skontox
jan10001
 2003-09-26 01:48
#56882 #56882
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
my $anzahl_eintraege = scalar @array;

Den Syntax verstehe ich nicht ganz, kann mir mal einer das erklären?
esskar
 2003-09-26 02:35
#56883 #56883
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=jan10001,25.09.2003, 23:48]
Code: (dl )
my $anzahl_eintraege = scalar @array;

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.
coax
 2003-09-26 05:51
#56884 #56884
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
oder...
Code: (dl )
1
2
3
my @array = (1..9);
my $anzahl = $#array + 1;
printf "Arraygroesse: %d", $anzahl
,,Das perlt aber heute wieder...'' -- Dittsche
eisbeer
 2003-09-26 08:32
#56885 #56885
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
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...
jan10001
 2003-09-26 12:05
#56886 #56886
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
Danke an esskar ich habs verstanden. :)
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2003-09-25 21:37.