What I cannot find in the on-line docs
Its an operator thing, not a regex thing --- from perlop under
"Binding Operators":
...
If the right argument is an expression rather than a
search pattern, substitution, or transliteration, it is
interpreted as a search pattern at run time. This can be
less efficient than an explicit search, because the pat-
tern must be compiled every time the expression is evalu-
ated.
This can sometimes cause problems for newcomers, especially when
they use split with a double-quoted string as the split pattern
(as seems to happen with undue frequency) and have an escaped
metacharacter in the pattern:
$_ = 'this has a | pipe';
@a = split /\|/; # good
print join(":", @a),"\n";
@a = split "\|"; # oops
print join(":", @a),"\n";
In the second case, the double-quoted string is first evaluated and
the *resulting* string (sans backslash) is then used as the pattern
in the regex.