@a=qw(one two three four five six);
@b=qw(zero one two three four seven);
私は印刷することを期待しています:
zero five six seven
これらの要素は両方のアレイに存在しません。
@a=qw(one two three four five six);
@b=qw(zero one two three four seven);
私は印刷することを期待しています:
zero five six seven
これらの要素は両方のアレイに存在しません。
#!/usr/bin/perl
@a=qw(one two three four five six);
@b=qw(zero one two three four seven);
$words{$_}++ for (@a, @b);
while (($k, $v) = each %words) {
next if $v > 1;
print "$k ";
}
my %hash = map { $_ => 1 } @b;
while( my $el = shift @a )
{
print $el unless defined $hash{ $el };
$hash{ $el } = 0;
}
foreach( keys %hash )
{
print $_ if $hash{ $_ } == 1;
}
編集:$_を$elに変更し、「print」を削除しました
use strict;
use warnings;
my @a=qw(one two three four five six);
my @b=qw(zero one two three four seven);
my %seen;
foreach my $a (@a) {
$seen{$a} = 1;
}
foreach my $b (@b) {
if (defined $seen{$b} and $seen{$b} == 1) {
$seen{$b} = -1;
} else {
$seen{$b} = 2;
}
}
foreach my $k (keys %seen) {
print "$k\n" if $seen{$k} != -1;
}
my %hash; $hash{$_}++ for @a,@b;
say join " ", grep { $hash{$_} == 1 } keys %hash;