Both exceptions, the special treatment of
// and
/^/ by split, are documented in
split. Both may deserve to be mentioned in the tutorial quickly for the profit of the unaware. The last remark by
ysth about the non-equivalence of
/^(?#)/ and
/^ /x with
// for split purposes is a subtle thing. More subtle if you compare to the fact that
/ /x,
/ # /x or even
/ (?#)/x have the same treatment as
// when passed to this function. Looks like a case to be fixed either in the docs or in the code of the Perl interpreter itself (if not barred by compatibility issues).