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