HP-User: Syntaxproblem bei Pfeilfunktion

Beitrag lesen

Hi hotti

Alles klar *g*
Gut, ich habe das ganze Konstrukt entfernt. Alles zurück auf Null!
Ich weiss zwar noch nicht, wie mir dein Array und Hash lergang bei meinem Datenbankprojekt helfen kann, aber Fakt ist, ich habe über diese beiden Dinge wenig Ahnung! Also los...

So sieht übrigens "dein" Lernprog für Perl bis jetzt aus (was auch nicht funktioniert):

  
#!/usr/bin/perl  
  
use strict;  
use warnings;  
use DBI;  
  
my @header = qw(Name Vorname Ort PLZ);                # Beispiel  
my @row_array = ("Rost", "Rolf", "Oppenheim", 55276); # CSV Zeile  
my %row_hash = ();                                    # declare  
# Hash-Slice  
@row_hash{@header} = @row_array;         # den Feldern Werte zuweisen  
  
print Dumper \%row_hash;  
  
my $VAR1 = {  
              'PLZ' => 55276,  
              'Ort' => 'Oppenheim',  
          'Vorname' => 'Rolf',  
             'Name' => 'Rost'  
           };  
# Eizelfeld ansprechen  
print $row_hash{Name};  
  
# Referenz  
my $ref = \%row_hash;  
print $ref->{Name};  
  
# bischen quoten  
print qq(Name: $ref->{Name})."\n";  
  
# einfacher alles zusammen  
print "Name: $ref->{Name}\n";  
  
# quoten und verketten like PHP  
my $addr = array("Name" => "Rost",);  
print("Name: ".$addr['Name']."\n");  
exit();  

Bevor wir das auseinanderpflücken, wär es nett, wenn du mir bei der Fehlersuche deines Programms helfen könntest. Ein Paar "my's" hab ich schon hinzugefügt/korrigiert.

Die Fehlermeldung der Terminalausgabe lautet so:

---------------------------------------------------------------------
Global symbol "@addr" requires explicit package name at ./DB-Test.pl line 36.
Execution of ./DB-Test.pl aborted due to compilation errors.

---------------------------------------------------------------------

Der Witz dieser Fehlermeldung: Es gibt gar kein Array "@addr". Manmanman - Computers wat 'n Stress!

Grüsse HP-User