The lingo for your desired operation is the difference of two arrays.
This has already been answerd in
How can I find the union/difference/intersection of two arrays?.
Here's another solution which doesn't use a set hash:
@a_minus_b = grep { my $a = $_; not grep { $a eq $_ } @b } @a;