Perl 5.18: getline and $/ = \N
Perl 5.18 will ship with a change in behaviour when using getline()
(aka the <$handle>
operator) on handles marked as returning Unicode where $/
is a reference to an integer.
Perl 5.18 will ship with a change in behaviour when using getline()
(aka the <$handle>
operator) on handles marked as returning Unicode where $/
is a reference to an integer.
From perl 5.17.9, the following:
my $scalar;
...
open my $fh, "<", \$scalar or die;
will fail unless $scalar
contains only code points 0xFF or lower - ie. they can be represented as bytes.
Perl's I/O will also treat the code points contained in the scalar as bytes - character \xA1 will be read as that byte, whether perl's internal representation is as UTF-8 or as bytes (or for the internals minded, whether SVf_UTF8 is on or not.)
Unfortunately in some cases this leads to a silent change in behaviour.