Steffen: 2 Dimensionales Hash, Fehler mit use strict

Beitrag lesen

Hi Steffen,

Hallo Michael

ich muß ein wenig im Nebel stochern ...

foreach (@list) {
  push(@HASHA, { 'nick' => $_, 'serv' => $serv[0], 'chan' => $chan, });

wieviele Elemente hat dieser Array @list?

ohhh hatte ich das nicht geschrieben ?
naja eigentlich ca. 15 is unterschiedlich...
Auf der Suche nach dem Fehler wollt ich möglichst viel ausschließen und hab derzeit nur 5 drinnen

(Und was genau beabsichtigst Du mit dem letzten Komma?)

jaa... als ich über einem Jahr mal ein Hash braucht und in der Perldoc nicht so richtig das drin gefunden (eher verstanden ;) )hab hab ich mir diesen Codeschnipsel aus einem anderen Tutorial geschnappt...

for($i=0;$i<=3;$i++) {
     print "$HASHA[$i]->{'nick'}\n";

Hier setzt Du m. E. voraus, daß es mindestens vier Elemente sind.
(Statt daß Du einfach die Schleife bis "$i<scalar @HASHA" laufen läßt.)

ja stimmt hatte ich eigentlich auch... wollte jetzt aber überall erstemal fehler ausschließen ( da use strict neu für mich is )
ja sind auch wie gesagt 5 Elemente

Bei der Fehlermeldung : "Can't use string ("") as a HASH ref while
"strict refs" in use"  -> er verweist dabei auf die Zeile unter Punkt 2.

Könnte es sein, daß @HASHA weniger als vier Elemente enthält?

nein halt nicht... :(

sehe ich das richtig das du genauso sprachlos bist wie ich ?

Wenn ich use strict aus dem Script herausnehme läuft es ja auch Fehlerfrei durch...

Viele Grüße
      Michael