http://www.perlmonks.org?node_id=625577


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.

while (<>) { s/${\NEWLINE()}$//; # should work print; }
It looks like you're dealing with foreign line ends, so you might do better to set $/ to CRLF or whatever and chomp.

In a substitute string, the /e modifier would be needed to call the sub.

After Compline,
Zaxo