vr has asked for the wisdom of the Perl Monks concerning the following question:
Instead of poking inside source of some App::* CPAN distribution, I tried to fix app's binary STDOUT output (prevent lf to crlf conversion) using said variable, here's SSCCE:
@echo off set PERLIO= perl -E "print qq(\n)" >> tmp perl -E "binmode STDOUT; print qq(\n)" >> tmp set PERLIO=:raw perl -E "print qq(\n)" >> tmp perl -E "binmode STDOUT; print qq(\n)" >> tmp set PERLIO=:raw:crlf:pop perl -E "print qq(\n)" >> tmp perl -E "binmode STDOUT; print qq(\n)" >> tmp perl -E "binmode STDOUT, ':crlf'; print qq(\n)" >> tmp set PERLIO= perl -Mopen=IO,raw -E "say unpack 'H*', $_ while <ARGV>" tmp del tmp
output:
0d0a 0a 0d0a 0d0a 0a 0a 0d0a
Line 3 seems to indicate that
The list becomes the default for all Perl's IO
(quote from link above) doesn't work; line 4 is weird -- IO is now broken and unfixable; further lines demonstrate working and toggleable solution (including from the same perl line/script, not shown above), using strange sandwiches -- :raw:crlf:raw works, too. Looks like a bug to me, maybe not urgent (was it always there?), let it be documented, TWIMC.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Perl seems to mistreat "PerlIO" environment variable (Windows)
by haukex (Archbishop) on Apr 03, 2020 at 07:16 UTC | |
by vr (Curate) on Apr 03, 2020 at 12:23 UTC |