Thread Array-Indexzugruff nicht erkannt?: Use of uninitialized value in string ne (10 answers)
Opened by Herr_Cisie at 2006-04-12 13:23

Crian
 2006-04-12 18:49
#64766 #64766
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Ist defined wirklich das richtige Maß der Dinge hier? Ok, das wird vielleicht etwas philosophisch, aber theoretisch könnte man auch undefined Werte ablegen im Array (das passiert hier zwar nicht, ist aber machbar).

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
C:\>perl
@a = (0, undef, 2);
print "anzahl: ", scalar(@q), "\n";
if (defined $a[1]) {
print "ja\n";
}
use Data::Dumper;
print Dumper \@a;
^Z
anzahl: 0
$VAR1 = [
0,
undef,
2
];


Vielleicht sollte man 1 <= #$array noch mit einbauen? Andererseits ists vielleicht auch egal, ob die Position im Array nicht belegt ist oder ob dort undef steht. Hmmm =)

Will man dazwischen unterscheiden, kann man exists verwenden:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C:\>perl
@a = (0, undef, 2);
print "anzahl: ", scalar(@q), "\n";
if (exists $a[1]) {
print "ja\n";
}
use Data::Dumper;
print Dumper \@a;
^Z
anzahl: 0
ja
$VAR1 = [
0,
undef,
2
];
\n\n

<!--EDIT|Crian|1144853538-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread Array-Indexzugruff nicht erkannt?: Use of uninitialized value in string ne