in reply to Re: Perlish way of doing this
in thread Perlish way of doing this
Here is an improvement on the above. I do not use map to fill the two tmp arrays as they would need to be itterated over again to find the case where both are blank. May as well only loop once (I added GG to test this case too).
#!/usr/bin/perl -w use strict; my (%a1, %a2, @tmp1,@tmp2); $a1{$_}=1 for ('AA','DD','EE'); $a2{$_}=1 for ('AA','BB','CC','FF'); foreach my $xx ('A'..'G') { $xx=$xx x 2; push @tmp1,($a1{$xx} ? $xx : 'XX'); push @tmp2,($a2{$xx} ? $xx : 'XX'); $tmp1[-1]=$tmp2[-1]=$xx if $tmp1[-1] eq $tmp2[-1] } print join(',',@tmp1); print "\n"; print join(',',@tmp2); print "\n";
Cheers,
R.
|
|---|