in reply to Can "delayed-regex assertions" be nested...
The syntax error you are getting is due to the presence of the regexp delimiter in the (??{...}) assertion. To make your original code with minimum change, change
@B = grep ( !/(??{join( '|', grep ( /(??{join( '|', @A)})/gi, keys %H ) })/gi, @A );
to
@B = grep ( !/(??{join( '|', grep ( m!(??{join( '|', @A)})!gi, keys %H ) })/gi, @A );
Update: hipowls notes that even if you fix the syntax error (as shown in this post), it won't work because the regexp engine is not re-entrant.
|
|---|