$ perl -v | head -2 | tail -1 This is perl 5, version 30, subversion 0 (v5.30.0) built for cygwin-thread-multi $ perl -MO=Deparse -e '$offs = () = /\PM/g;' $offs = () = /\PM/g; -e syntax OK $ perl -MO=Deparse -e '$offs = /^\pM/ + ( () = /\PM/g );' $offs = /^\pM/ + (() = /\PM/g); -e syntax OK $ perl -v | head -2 | tail -1 This is perl 5, version 38, subversion 0 (v5.38.0) built for cygwin-thread-multi $ perl -MO=Deparse -e '$offs = () = /\PM/g;' $offs = () = /\PM/g; -e syntax OK $ perl -MO=Deparse -e '$offs = /^\pM/ + ( () = /\PM/g );' $offs = /^\pM/ + (() = /\PM/g); -e syntax OK