use Tie::File; my @file; tie @file, 'Tie::File', $filename or die "Error: couldn't tie $filename to array: $!\n"; # jedes element von @array entspricht jetzt einer zeile foreach my $line (@file) { my %data = &ParseLine($line); # mach was mit %data; zum aendern einer Zeile einfach $line neu bilden } # foreach untie(@array); # ----------------------------------------------------- sub ParseLine { my ($line) = @_; my %data = (); foreach my $item (split(/,/, $line)) { # item ist z.B. "Ursrpung=001" # $key ist z.B. "Ursprung", $value z.B. "001" my ($key, $value) = split(/=/, $item, 2); # in hash speichern; achtung, falls ein key mehrere werte hat, bleibt nur # der letzte $data{$key} = $value; } # foreach return %data; } # ParseLine