perl -lne '
# read in the patterns into a hash
@ARGV and $h{$_}=s|/|\\/|gr,next;
# delete pattern if matched, so we wont have to
# expend efforts on it for the subsequent lines
while (my($pat) = each %h) {
delete $h{$pat} if /$h{$pat}/;
}
# what remains are those that did not match
END {
print "These patterns did not match:";
print for keys %h;
}
' patterns_file log_file