This means that you really can't print each line as you iterate, because you need to gather both numbers. One approach to this problem may be to use a hash. Something like the following may work:
And then...my %users; while (<CSV>) { next if ($. == 1); if ($csv->parse($_)) { my @columns = $csv->fields(); my @choppedcols = $csv->fields(); my $username = lc($columns[1]); $users{$username}{first_name} = ($columns[2]); $users{$username{last_name} = ($columns[3]); # etc... then my $telephone = ($columns[8]).-($columns[6]); if ($columns[8] == 1) { $users{$username}{fax_number} = $telephone; } else { $users{$username}{phone_number} = $telephone; } } }
for my $user (keys %users) { print "dn: uid=$user\n", "givenName: $users{$user}{first_name}\n", "sn: $user{$user}{last_name}\n", #etc... "telephonNumber: $users{$user}{phone_number}\n", "faxNumber: $users{$user}{fax_number}\n"; }
Cheers,
Darren :)
In reply to Re^3: Manipulating Data by a Field Identifier
by McDarren
in thread Manipulating Data by a Field Identifier
by rycher
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |