Moin,
aus einer csv-datei der Art:
name|mailaddress|mobile|phone|rubrik|pw
^^
das solltest du crypten.
soll in einen zweidimensionalen Hash geparst werden. [...]
ich kann dein Problem hier nicht nachvollziehen. (Perl 5.6.0, Win32)
Dafuer hab ich aber das ganze mal lesbarer aufgeschrieben (und strict-faehig ;)
vielleicht gibts ja online tatsaechlich ein Problem mit nichtlokalisierten Variablen oder so.
Ach und nochwas: name ist jetzt eine redundante Information, das waere evtl. noch ein schoenheitsfehler ;)
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
sub parse_members ($) {
my $membersfile = shift;
# Opens the membersdb-file
# bla, open, close etc.
# bei open *und* close auf Fehler pruefen!
#
my @readmembers = <DATA>;
# remove \n
#
chomp @readmembers;
# entferne erste Zeile und ermittel die schluesselworte
#
my @key = split /|/ => shift(@readmembers);
# erzeugung eines 2dimensionalen hashes
#
my %members = map {
my $i=0;
my %hash = map {$key[$i++] => $_} split /|/ => $_;
($hash{name} => %hash);
} @readmembers;
%members;
}
my $members = parse_members ('filename');
print Dumper ($members);
__END__
name|mailaddress|mobile|phone|rubrik|pw
Schnuffil|schnuffel@schnuffel.de|0169-55555555|030-12345678|design|sChN
Stoffel|stoff@stoff.de|0169-9876543|080-4444444|design, pr|STsT
Pumuckel|pumucke@mst.eder.de|555-1234567|0555-2468135|design|roteHaare
naechster|naechster@next.de|0555-0000000|000-0000000|Prod|letzter
evtl. hilfts ja schon,
Viele Gruesse,
n.d.p.