Thread Merkwürdiges Problem mit einer Arrayreferenz (19 answers)
Opened by Crian at 2005-04-12 11:17

Crian
 2005-04-12 11:17
#53694 #53694
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Ich habe ein sehr sehr eigenartiges Problem mit einer Codestelle, die bei der Bearbeitung einer großen Menge von Daten ab und zu mal "nicht will". Ich kann mir das Problem überhaupt nicht erklären und hoffe, irgendjemand von Euch hat einen Tipp, in welche Richtung ich das Problem suchen soll.

Hier erst mal die Beschreibung: Die Fehlermeldung ist

Code: (dl )
Not an ARRAY reference at ...


und in der betreffenden Zeile steht

Code: (dl )
if ($nr > $#$allmatch) {


Alles klar dachte ich, dann geht wohl in manchen Fällen meine Arrayreferenz $allmatch auf irgendeine Weise kaputt. Also suchte ich und suchte ich, bis ich schließlich vor der obigen Codezeile

Code: (dl )
1
2
3
4
print "Problemstelle: allmatch: ", Dumper $allmatch;
print "nr = [$nr]\n";
print "\$#\$allmatch = [$#$allmatch]\n";
print "ref \$allmatch = ", ref($allmatch), "\n";


einfügte und vor dem Programmabbruch die Ausgabe

Code: (dl )
1
2
3
4
5
6
Problemstelle: allmatch: $VAR1 = [
'10000000 ,'
];
nr = [0]
$#$allmatch = [0]
ref $allmatch = ARRAY


erhielt. Nun bin ich mit meinem Latein aber am Ende, wieviel "mehr" Arrayrefrenz kann denn etwas sein?

Ich habe es auch nochmal mit

Code: (dl )
if ($nr >= scalar @$allmatch) {


versucht, was aber zum selben Abbruch führte.

Ach ja: "This is perl, v5.8.6 built for MSWin32-x86-multi-thread" (ActiveState) auf Windows 2000 Professional.
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 Merkwürdiges Problem mit einer Arrayreferenz