in reply to substituting constants within regex?
When you use constant Foo . . . , 'Foo' becomes the name of a sub. Inside a regex, you need to use a form which makes the sub be called by evaluation. The \Q is not helping, either.
It looks like you're dealing with foreign line ends, so you might do better to set $/ to CRLF or whatever and chomp.while (<>) { s/${\NEWLINE()}$//; # should work print; }
In a substitute string, the /e modifier would be needed to call the sub.
After Compline,
Zaxo
In Section
Seekers of Perl Wisdom