Thread Can't use string as a HASH ref, strict und OOP (2 answers)
Opened by styx-cc at 2009-12-05 21:47

Linuxer
 2009-12-05 22:02
#128995 #128995
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Schau mal, was Du so zuweist....
Code (perl): (dl )
1
2
3
4
    # 781.30 zuweisen
    $self->{$metal}{'oz_price'} = shift;
    # 781.30 als Hash referenz benutzen....
    $self->{$metal}{'oz_price'}{'ts'} = time();

edit2: Mal ein Versuch, eine Erklärung zu formulieren:
Du weist als erstes dem Key 'oz_price' einen einfachen String zu. Im nächsten Schritt verwendest Du wieder 'oz_price' und willst darunter einen Hash-Key 'ts' mit einem Wert ablegen. Das geht so nicht und "strict" meckert das an, weil hier ein String als Hash-Referenz (miss/ge)braucht wird.
Du musst Dich entscheiden, entweder String oder Hash-Ref.



Edit:
Vorschlag:
Wenn Du einen Timestamp zum oz_price ablegen willst, solltest Du das parallel machen...
Code (perl): (dl )
1
2
  $self->{$metal}{oz}{price} = shift;
  $self->{$metal}{oz}{ts} = time();
Analog dazu den Rest des Codes anpassen...
Last edited: 2009-12-05 22:13:30 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Can't use string as a HASH ref, strict und OOP