There's no call to join in that call. You have a string constructor and an assignment.
Presuming from the (??{ }), the string will later be interpolated into a regex pattern, at which point a match against that pattern could call join, but it won't be the join you descrived. It will be
join q{|}, XXX \@{YYY}
where XXX is the contents of $quotemeta and YYY is contents of $var_name joined by spaces. Double quoted strings (qq{}) interpolate.
my $quotemeta = 'XXX'; my $var_name = 'YYY'; my $perl5patt = qq{(??{join q{|}, $quotemeta \@{$var_name}})}; print $perl5patt, "\n";
(??{join q{|}, XXX @{YYY}})
Since you didn't specify what $quotemeta and $var_name contain, we can't tell if the code executed by the regex engine will match join EXPR, LIST or not.
In reply to Re: what does this code do?
by ikegami
in thread what does this code do?
by 7stud
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |