Thread Verständnisprobleme eines Anfängers (1 answers)
Opened by rkrueger at 2010-11-03 20:00

rkrueger
 2010-11-03 20:00
#142445 #142445
User since
2010-10-26
1 Artikel
BenutzerIn
[default_avatar]
Hallo.

Meine ersten Gehversuche mit Perl sind leider nicht von Erfolg gekrönt
gewesen. Dies liegt mitunter daran, dass die Bücher zu dem Thema,
welche ich mir gekauft habe, nicht auf meiner Wellenlänge schwingen.
Ich benötige mehr die Erklärung anhand eines plausiblen
Praxisbeispiels und kann mit trockener Theorie nicht sonderlich viel
anfangen. Besonders dann nicht, wenn ich nicht erkennen kann, WOZU
das Beispiel dient. Soviel zu meiner Vorgeschichte, und ich möchte
auch gleich ans Eingemachte gehen.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl -w

use strict;

my @vektor = (4,86,"Test",25);
my $laenge = @vektor; # skalarer Kontext
print "Länge = $laenge\n";
print "Letzter Index = $#vektor\n";
print "\$vektor[3] = $vektor[3]\n";

$vektor[7] = 42;
$laenge = @vektor;
print "Länge = $laenge\n";
print "Letzter Index = $#vektor\n";


Anbei ein Beispiel aus dem Perl Tuorial von Eike Grote aus dem Jahr
2005. Dieses Beispiel mag zwar sehr schön sein, mir sagt das, was
ausgedruckt wird relativ wenig. Zwar habe ich festgestellt, dass die
Zeilen:
my $laenge = @vektor; # skalarer Kontext
print "Länge = $laenge\n";
mir mitteilen, dass sich vier Werte in dem Array befinden und diese
von print ausgegeben werden.

print "\$vektor[3] = $vektor[3]\n";
Dies besagt, dass der dritte Zahlenwert in Folge aus dem Array
ausgelesen und gedruckt wird. Ist das richtig? Im ursprünglichen
Sourcecode stand nämlich $vektor[1] und gab die Zahl 4 aus.

Und was macht das hier: $vektor[7] = 42; ? Das hört sich nach einer
tollen Antwort an, aber die Frage habe ich nicht so ganz
verstanden. :-) Aus Neugierde habe ich den Wert 42 mal auf 2042
erhöht und das Programm gestartet: nüscht. Mir scheint, als wenn
der Wert 2042, bzw 42 überhaupt nichts macht. Was ich mir jetzt denke ist, dass
nachfolgende Zeile in Verbindung mit dem $vektor[7] folgendes macht:
print "Letzter Index = $#vektor\n";
Hier wird ausgegeben, wieviele nummerierte $vektor es insgesamt im
Programm gibt. Liege ich damit richtig? Doch WOZU kann ich diese
Abfrage, bzw. Ergebnis praktisch benutzen?

Womit ich jetzt noch Probleme habe ist: print "Letzter Index =
$#vektor\n";
Was druckt diese Zeile denn jetzt aus? Hmm, im Augenblick komme ich
nicht weiter. Kann mir jemand dabei helfen, dass bei mir der Groschen
fällt? Vielen Dank im voraus.
Last edited: 2010-11-03 20:05:03 +0100 (CET)

View full thread Verständnisprobleme eines Anfängers