in reply to Matching array elements not in another array

A better structure for the type of search you want is a hash

After

my %available_things= map { $_,1} @available_things;

your search is a simple lookup:

@not_available_requested_things = map { $_ if not $available_things{$_ +} } @requested_things;