Huh, what are you talking about? Using strings as patterns is fine. Remember, this is Perl. If Perl expects a pattern somewhere, whatever you put there is a pattern. What you call an "undocumented" extension is nothing different from:
$foo = "3";
$bar = 4 + $foo;
or even:
my $pattern = "foo|bar";
say "Match" if $str =~ $pattern;
In my snippet, '%' is pattern by virtue of it being the first argument of split, not because of some "undocumented extension".
Note also this snippet from the split documentation:
As a special case, specifying a PATTERN of space (' ') will
split on white space just as "split" with no arguments does.
Note how the documentation talks about a pattern, while using quotes to delimit said pattern. |