in reply to Re^4: Global substitution of non-base-plane Unicode characters
in thread Global substitution of non-base-plane Unicode characters

"My purpose there was to avoid the automatic "\n" appended by print, ..."

print does not do this. From its documentation:

"The current value of $\ (if any) is printed after the entire LIST has been printed."

$\ is the output record separator. From the "perlvar: Variables related to filehandles" documentation:

"The output record separator for the print operator. If defined, this value is printed after the last of print's arguments. Default is undef."

I can't see anywhere in the code you posted that you have explicited defined $\ (e.g. $\ = "\n").

Check your shebang line (not shown in any of your posted code) for a "-l" switch. This is probably the most likely cause of "the automatic "\n" appended by print". See "perlrun: Command Switches" for details of the "-l" switch.

-- Ken

Replies are listed 'Best First'.
Re^6: Global substitution of non-base-plane Unicode characters
by pjfarley3 (Initiate) on Feb 24, 2014 at 04:37 UTC

    Aha! An earlier version of my test program did include declaring $s\ and setting its value to "\n", so that was the source of my mistaken impression that print was adding newline on its own. Another notch in my understanding of perl, thank you.

    Peter