Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
2k stars 559 forks source link

Possible bug with binmode and <FH> on Perl 5.005_03 Win32 #50

Closed p5pRT closed 21 years ago

p5pRT commented 25 years ago

Migrated from rt.perl.org#852 (status was 'resolved')

Searchable as RT852$

p5pRT commented 25 years ago

From ron@gwmicro.com

The following short script should write a file called testfile and a file called test_two to the current directory. It seems that both files should be identical\, but in fact one of the LF characters is missing from test_two. The script works as expected if read is used instead of \.

It is probably relevant that this report was generated on Windows 2000 beta 3 RC 0\, but the error also manifests on a separate machine running Windows NT4 Server with Service Pack 5 installed.

-------- cut here ---->8==== open (OUT\, ">testfile"); binmode OUT; print OUT "\x65\x0a\x0a\x0a\x66"; close OUT;

open (IN\, "\<testfile"); open (OUT\, ">test_two"); binmode IN; binmode OUT; $/=0777;

# *** The following line does not work print OUT \;

# *** Replace it with the following two lines and it works. #read (IN\, $buf\, -s IN ); #print OUT $buf;

close IN; close OUT; -------- cut here ---->8====

Perl Info ``` Site configuration information for perl 5.00503: Summary of my perl5 (5.0 patchlevel 5 subversion 03) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86 uname='' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef useperlio=undef d_sfio=undef Compiler: cc='cl.exe', optimize='-O2 -MD -DNDEBUG', gccversion= cppflags='-DWIN32' ccflags ='-O2 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT ' stdchar='char', d_stdstdio=define, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -machine:x86' libpth=E:\PROGRA~1\MICROS~1\VC98\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -machine:x86' Locally applied patches: @INC for perl 5.00503: c:\perl\lib/MSWin32-x86 c:\perl\lib c:\perl\site\lib/MSWin32-x86 c:\perl\site\lib . Environment for perl 5.00503: HOME (unset) LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=E:\WINNT\system32;E:\WINNT;E:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;E:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;E:\Program Files\Microsoft Visual Studio\Common\Tools;E:\Program Files\Microsoft Visual Studio\VC98\bin;;c:\perl\bin;c:\cygnus\b19\H-i386~1\bin;c:\windows\roncmd;c: \siw95\util16;C:\PROGRA~1\NETWOR~1\MCAFEE~1 PERL_BADLANG (unset) SHELL (unset) -- Ron Parker GW Micro, Inc. Voice 219-489-3671 Fax 219-489-2608 BBS 219-489-5281 ```