Perl / perl5

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

Backtick Failure under Windows NT (output gets lost) #1311

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#2320 (status was 'rejected')

Searchable as RT2320$

p5pRT commented 24 years ago

From jcox@interwoven.com

The output from backtick on NT (`...`) isn't showing up sometimes.

  o Within my cgi\, the output of backtick vanishes\, but   if I invoke the exact same command from a stand-alone   perl program run from the console\, the data shows up.

  Yet... within the cgi\, if I say

  my $dir = `dir`;

  all is well -- I get the output. Strange!

  The command that's failing now within CGIs looks like this​:

  my $cmd = 'C​:\progra~1\interw~1\foobar.exe 123';   my $output = `$cmd`;

This didn't happen with an earlier perl build I did; I'm not sure if I've done something wrong\, or if it's an NT-perl bug.

I've enclosed the output of perl -V and my %ENV (see below)​: Any thoughts/ideas/pointers greatly apprecited.

  Sincerely\,   - Jon Cox

PS​:   I saw some rumblings about something seemingly related to   this on p5p (Paul.Moore@​uk.origin-it.com & gsar@​engin.umich.edu)   but I didn't see a solution anywhere.


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='-Od -MD -DNDEBUG'\, gccversion=   cppflags='-DWIN32'   ccflags ='-Od -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="C​:\Program Files\DevStudio\VC\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 wsock 32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib PerlCRT.lib   libc=PerlCRT.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'

Characteristics of this binary (from libperl)​:   Built under MSWin32   Compiled at Feb 24 2000 03​:33​:47   @​INC​:   C​:\Program Files\Interwoven\TeamSite\iw-perl\lib\MSWin32-x86   C​:\Program Files\Interwoven\TeamSite\iw-perl\lib   C​:\Program Files\Interwoven\TeamSite\iw-perl\site\5.00503\lib   C​:\Program Files\Interwoven\TeamSite\iw-perl\site\lib\MSWin32-x86   C​:\Program Files\Interwoven\TeamSite\iw-perl\site\lib   .


USERNAME=jcox PROMPT=$P$G PROCESSOR_IDENTIFIER=x86 Family 6 Model 5 Stepping 2\, GenuineIntel PROCESSOR_ARCHITECTURE=x86 OS=Windows_NT CLASSPATH=C​:\Program Files\Exceed.nt\hcljrcsv.zip;C​:\Program Files\Exceed.nt INCLUDE=C​:\MSSDK\Include;c​:\program files\devstudio\vc\include;c​:\program files\ devstudio\vc\atl\include;c​:\program files\devstudio\vc\mfc\include;C​:\Program Fi les\Mts\Include HOME=//u/ VIM=C​:\vim5_3 PURIFYPATH=C​:\Program Files\Rational\Purify;C​:\Program Files\Rational\Purify\Cac he WINDIR=C​:\WINNT TMP=C​:\TEMP INETSDK=C​:\MSSDK TEMP=C​:\TEMP LOGONSERVER=\\PLATO PROCESSOR_LEVEL=6 OS2LIBPATH=C​:\WINNT\system32\os2\dll; BASEMAKE=C​:\MSSDK\Include\bkoffice.mak HOMESHARE=\\stargate\jcox MSDEVDIR=C​:\Program Files\DevStudio\SharedIDE SYSTEMDRIVE=C​: MSSDK=C​:\MSSDK HOMEDRIVE=U​: CPU=i386 SYSTEMROOT=C​:\WINNT COMSPEC=C​:\WINNT\system32\cmd.exe PATH=C​:\WINNT\system32;C​:\WINNT;C​:\Program Files\Mts;C​:\WINNT\System32\WBEM;c​:\sqlany50\win32;c​:\sqlany50\win;c​:\sybtools\win32;D​:\MSSQL7\BINN;C​:\MSSDK\Bin;C​:\MSSDK\Bin\WinNT;c​:\program files\devstudio\sharedide\bin\ide;c​:\program files\devstudio\sharedide\bin;c​:\program files\devstudio\vc\bin;C​:\Program Files\Rational\Purify;C​:\Program Files\Rational\Purify\Cache;C​:\perl\5.00502\bin\MSWin32-x86;C​:\Apache;c​:\ispell\bin;C​:\vim5_3 PROCESSOR_REVISION=0502 NUMBER_OF_PROCESSORS=1 USERPROFILE=C​:\WINNT\Profiles\jcox COMPUTERNAME=EUCLID MSTOOLS=C​:\MSSDK HOMEPATH=\ LIB=C​:\MSSDK\Lib;c​:\program files\devstudio\vc\lib;c​:\program files\devstudio\vc \mfc\lib;C​:\Program Files\Mts\Lib USERDOMAIN=INTERWOVEN SQLANY=c​:\sqlany50 BKOFFICE=C​:\MSSDK\ PATHEXT=.exe;.bat;.com;.pl;.VBS;.JS;.VBS USER=jcox

p5pRT commented 20 years ago

From @steve-m-hay

There is not enough detail in the bug report to investigate this.

As noted\, backticks do generally work on Windows. If you have a reproducible case in which they do not behave as intended then please open a new bug report.

p5pRT commented 20 years ago

@steve-m-hay - Status changed from 'open' to 'rejected'