Datum: 2006-02-15
Quelle: suse-programming
Die Werte aus einer Liste mit dem Format feld1;wert1;feld2;wert2;feld3;wert3; sollen anders lautenden Attributen zugeordnet werden.
#! /usr/bin/perl
use strict;
use warnings;
my %ldif = ("feld1" => "attribute1",
"feld2" => "attribute2",
"feld3" => "attribute3");
my $line = "feld1;wert1;feld2;wert2;feld3;wert3;";
my %out = ();
my @f = split /;/, $line;
for (my $i = 0; $i < $#f; $i+=2) {
my @a = ($ldif{$f[$i]}, $f[$i+1]);
$out{$f[$i]} = \@a;
}
foreach (sort keys %out) {
my $aref = $out{$_};
print $_, " = ", @$aref[1], " ---> ", @$aref[0], " = " , @$aref[1], "\n";
}
exit 0;
Das Beispiel arbeitet mit einem Hash, der die Zuordnung zwischen den Feldnamen aus der Eingangsliste und den Attributnamen in der Ausgabe enthält.