use strict;
use Tie::IxHash;
my %login;
{
tie( my %csv, 'Tie::IxHash',
'one' => undef,
'two' => undef,
'three' => undef,
'four' => undef,
'five' => undef,
);
$csv{one} = "11";
$csv{two} = "12";
$csv{three} = "13";
$csv{four} = "14";
$csv{five} = "15";
$login{1} = \%csv;
}
{
tie( my %csv, 'Tie::IxHash',
'one' => undef,
'two' => undef,
'three' => undef,
'four' => undef,
'five' => undef,
);
$csv{one} = "11";
$csv{three} = "23";
$csv{four} = "14";
$csv{five} = "25";
$login{2} = \%csv;
}
{
tie( my %csv, 'Tie::IxHash',
'one' => undef,
'two' => undef,
'three' => undef,
'four' => undef,
'five' => undef,
);
$csv{one} = "31";
$csv{two} = "12";
$csv{three} = "23";
$csv{five} = "25";
my $match = "2";
while (my ($k,$v) = each %login) {
if ($k eq $match) {
my %union;
print "MATCH\n";
while ( my ($k, $v) = each %$v ) { $union{$k} = $v; }
while ( my ($k, $v) = each %csv ) { $union{$k} = $v; }
print map{$_ ."=". $union{$_} ."\n"} keys %union;
} else {
print "NO MATCH\n";
while ( my ($k, $v) = each %$v ) { print $k ."=". $v."\n"; }
}
}
}
Mhh the union part doesn't work like i want to. Empty elements in it?
Off course suggestions howto improve the rest of the code are also welcome!!
-- My opinions may have changed,
but not the fact that I am right
|