in reply to Modification of a read-only value attempted

This string of line noise is being interpreted by perl, no?
"-M--M-^VM-E=M-[ 4JM-1e+PM-^YM-;M-)M-^KM-u^SSZM-Fr^UnM-oM-`M-^XM-^^M-& +^SGM-HM-L^\^\+~pM-NM-&M-^BM-^@iM-^OM-j9rjM-^[M-2M-RtM-I}M-fT.M--w^ZM- +\E+^WM-wM-I&v^SM-EM-^S8^_E^C^ZM-#M-XM-D"M-EM-"M-^IM-Ef^VM-MhM-$FM-^HM +-b^B>M-^KM-RM-TzM-^BM-mM-[^UM-$M-LM-\HJM-^[^T]H}9af-IhpM-JM-H^LM-iM-9 +TM-^WM-^SM-[^NM-yM-MM-G>M-^OM-b^K|^YM-EE\M-^JM-b+tFM-q5^NM-)M-x&M-^JM +-KM-xVAM-|AM-{[AM-cM-}M-"wM-^HBM-fc_M-DwQtpM-Dn^VM-;YM-lgM-QM-^GM-~(M +-.M-`*M-UM-GM-]M-)M-Na^EM-5M-^K^YM-T^]]x_[M-XM-}M-w,~M- M-^[oM-([xY[M +-DM-wM-BM-(M-$M-oM-r{M-_M-"M-OI^QkM-(sM-MFiU0^^IQM-1`M-Eu%MUC]M-qM-^P +M-^TM-A^VM-f$}+M-GM-"8M-^NN^E^[M-=+M-;}M-PM-2sM-dM- M-^M5M-mM-6IM-^AM +-^K^G^EM-^M^NwUM-^HM-^KM-+M-^U^UlxM-^@M-^YM-KM-}^^M-1M-X~@M-KLM-IM-^N +M-oM-#M-.M-^MwwM-_^[0^G^KFVM-,M-h]9C+M-(MNM-jYM-ZM-mM-pz^^=M-^?M-2#[d +M-TM-m^EM-^C0bM-^[]M-y'YM-i^NAoM-^KM-lM-[2M-^ZeM-9^_M->PM-^RM-C^C^^M- +DM-~^KM-UM-"M-v%M-?!M-CM-jpF^CM-UM-^M^FAM-#M-Wd]M-$ZpM-PM-hYM-1M-%M-l +M-1M-^V~#$M-iWM-^JM-^J^RM-^^^LM-^DJx8M-^H5M-eM-,MM-NM-:M-YYM-^[M-^]M- +^Uf^DM--M-UPM-hM-E?EM-ri@iM-^A^O^QM-RM-6&M-^R^MsP^RM-^M3(IM-TM-xgM"
In order to put this string into a variable with out perl throwing all sorts of weird things I've never even seen is to use quote meta (after trial and error):
my $data = q/-M--M-^VM-E=M-[ 4JM-1e+PM-^YM-;M-)M-^KM-u^SSZM-Fr^UnM-oM- +`M-^XM-^^M-&^SGM-HM-L^\^\+~pM-NM-&M-^BM-^@iM-^OM-j9rjM-^[M-2M-RtM-I}M +-fT.M--w^ZM-\E+^WM-wM-I&v^SM-EM-^S8^_E^C^ZM-#M-XM-D"M-EM-"M-^IM-Ef^VM +-MhM-$FM-^HM-b^B>M-^KM-RM-TzM-^BM-mM-[^UM-$M-LM-\HJM-^[^T]H}9af-IhpM- +JM-H^LM-iM-9TM-^WM-^SM-[^NM-yM-MM-G>M-^OM-b^K|^YM-EE\M-^JM-b+tFM-q5^N +M-)M-x&M-^JM-KM-xVAM-|AM-{[AM-cM-}M-"wM-^HBM-fc_M-DwQtpM-Dn^VM-;YM-lg +M-QM-^GM-~(M-.M-`*M-UM-GM-]M-)M-Na^EM-5M-^K^YM-T^]]x_[M-XM-}M-w,~M- M +-^[oM-([xY[M-DM-wM-BM-(M-$M-oM-r{M-_M-"M-OI^QkM-(sM-MFiU0^^IQM-1`M-Eu +%MUC]M-qM-^PM-^TM-A^VM-f$}+M-GM-"8M-^NN^E^[M-=+M-;}M-PM-2sM-dM- M-^M5 +M-mM-6IM-^AM-^K^G^EM-^M^NwUM-^HM-^KM-+M-^U^UlxM-^@M-^YM-KM-}^^M-1M-X~ +@M-KLM-IM-^NM-oM-#M-.M-^MwwM-_^[0^G^KFVM-,M-h]9C+M-(MNM-jYM-ZM-mM-pz^ +^=M-^?M-2#[dM-TM-m^EM-^C0bM-^[]M-y'YM-i^NAoM-^KM-lM-[2M-^ZeM-9^_M->PM +-^RM-C^C^^M-DM-~^KM-UM-"M-v%M-?!M-CM-jpF^CM-UM-^M^FAM-#M-Wd]M-$ZpM-PM +-hYM-1M-%M-lM-1M-^V~#$M-iWM-^JM-^J^RM-^^^LM-^DJx8M-^H5M-eM-,MM-NM-:M- +YYM-^[M-^]M-^Uf^DM--M-UPM-hM-E?EM-ri@iM-^A^O^QM-RM-6&M-^R^MsP^RM-^M3( +IM-TM-xgM/; # didn't know what you were doing with '(($data =~ m/^\-\w/) || ($data + =~ m/^\-/)).', so I took liberty: print (($data =~ m/^\-\w/) || ($data =~ m/^\-/)) . '';
I'd look at the assignment of that crazy string as the culprit.