auf arrayelemente zugreifen
perl_anfänger
- perl
hallo
wie greife ich denn auf ein perl-array-element zu???
@arr = ("hund","katze","maus");
gehen tuts ja so:
$kleingetier = $arr[2];
oder so
$kleingetier = @arr[2];
was ist denn nun richtig?
was üblich?
was empfehlt ihr?
vielen dank
und gruss
Hi,
wundert mich dass das $kleingetier = @arr[2]; funktioniert ...
Ich würde es so machen : $kleingetier = $arr[2];
siehe
http://www.tekromancer.com/perl/4_3.html
cu
alligator
Hi,
wundert mich dass das $kleingetier = @arr[2]; funktioniert ...
perldoc perlfaq4
"What is the difference between $array[1] and @array[1]?"
Cheatah
Hallo Cheatah
perldoc perlfaq4
"What is the difference between $array[1] and @array[1]?"
finde ich nicht... habe die doc mit /difference durchsucht.. aber nix gefunden.
gruss
Hallo Cheatah
perldoc perlfaq4
"What is the difference between $array[1] and @array[1]?"
finde ich nicht... habe die doc mit /difference durchsucht.. aber nix gefunden.
vergiss es... online habe ich es gefunden
danke nochmal
Hi,
aha - habs durchgelesen und afaik auch begriffen. Aber dann dürfte beim 2 Beispiel ja kein Wert in $kleingetier sein, wenn es ja dann ein Array mit einem anlegt ...
cu
alligator
Hi,
Aber dann dürfte beim 2 Beispiel ja kein Wert in $kleingetier sein, wenn es ja dann ein Array mit einem anlegt ...
im Gegensatz zu den meisten anderen Sprachen geht Perl sehr, ähm, frei mit seinen Datentypen um. Wendest Du eine Stringfunktion auf eine Zahl an, so wird sie als String behandelt; wendest Du eine Arrayfunktion auf einen Hash ein, so wird dieses als Array behandelt; wendest Du eine Stringfunktion auf ein Array an, so wird versucht, das beste daraus zu machen. Bei einem Array mit nur einem Element wird es dann halt als Skalar behandelt.
Diese Aussage ist übrigens ziemlich stark verallgemeinert - bitte fehlinterpretiere sie nicht als Definition. Viele Funktionen sind bereits von sich aus so gestaltet, dass sie mit unterschiedlichen Datentypen jeweils sinnvoll umgehen; bei allen anderen Fällen versucht Perl eben, so gut wie möglich mit dem Fehler (ja, es ist einer) umzugehen.
Cheatah
use Mosche;
wundert mich dass das $kleingetier = @arr[2]; funktioniert ...
Wobei IMHO @arr[3] in Perl 6 der Zugriff auf einen Skalar sein soll (nämlich das, was vorher $arr[3] war).
use Tschoe qw(Matti);