Hi!
Ich verstehe bei folgendem Script nicht, warum ich Fehler
QuoteUse of uninitialized value within @inhalt in string eq at test.pl line 13.
bekomme.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use strict;
use warnings;
use 5.010;
my @inhalt = split //,<<INPUT
A
INPUT
;
say "Gesamt: ".scalar(@inhalt)." Bytes";
for (my $ze = 0; $ze < scalar(@inhalt); $ze ++) {
my $anzahl = 0;
while (scalar(@inhalt) > ($ze + $anzahl) && $inhalt[$ze + $anzahl + 1] eq ' ') {
say "untersuche ".($ze + $anzahl + 1);
$anzahl ++;
}
say "bei Pos. $ze = $anzahl";
}
Aufgrund der Abfrage
scalar(@inhalt) > ($ze + $anzahl) - von der ich ausgehe, dass sie zuerst ausgeführt wird, weil sie links vom
&& steht - darf doch die Abfrage niemals außerhalb des Array's liegen. Wieso tut es das doch?
Der Code ist aus einem Zusammenhang gerissen, bitte nicht wundern.
Auf Windows 7 64 Bit mit Perl This is perl 5, version 18, subversion 4 (v5.18.4) built for MSWin32-x64-multi-thread
10 print "Hallo"
20 goto 10