http://qs321.pair.com?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

Replies are listed 'Best First'.
Re^2: substituting constants within regex?
by Anonymous Monk on Jul 09, 2007 at 08:07 UTC

    Thanks to both of you for your responses!

    > It looks like you're dealing with foreign line ends...

    I'm dealing with cleaning up the output of 'script' which sometimes has a ^M at EOL & '^M' in other cases. Changing $/ would be great if everything was consistent, but I see examples of both the control code & ASCII representations existing in the output.

    FWIW.