When I try the following
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @bl = qw(red green blue);
my @a = qw(green yellow purple blue pink);
print Dumper [grep {not @bl} @a];
I get an empty array. I would have expected that @bl was subtracted from @a, so the output was yellow purple pink.
What’s wrong here?
You need to turn
@blinto a hash to perform the set difference: