#!/usr/bin/perl use strict; use warnings; use re 'debug'; my (@a, $a); @a = qw(Obfuscatus Re(ge)x); $_ = 'hello, world!'; BAR: 0; m((??{goto FOO}))g; FOO: $a = shift @a; ### Fails here $a and s(\G(.* )[^ ]+)($1$a) and do { pos = pos() + 1; goto BAR }; print "$_\n";