my @numbers = ('25', '12', '32','56','45','21','65');
my @needed =('25','32','45','65');
my %hashofscalars = map{ $_ ,1}@needed;
my $scalar;
my @res_scalars;
foreach ( @numbers) {
if (exists $hashofscalars{$_}){
$scalar++;push(@res_scalars ,$_);
}elsif($scalar%2 != 0){
push(@res_scalars,$_)
}
};
print "[@res_scalars]\n";
__END__
[25 12 32 45 21 65]