Path: sparky!uunet!mcsun!corton!cnet!roy
From: r...@gismo.cnet-pab.fr (Jean-Michel ROY)
Newsgroups: comp.lang.perl
Subject: Problem using pipes with MS-DOS perl.
Message-ID: <1992Jan09.071230.393@cnet.fr>
Date: 9 Jan 92 09:22:00 GMT
Sender: roy@gismo (Jean-Michel ROY)
Organization: CNET
Lines: 54


 Each time, I run the folowing program, it create a temporary file like :
 SWP00929 in my TEMP directory which is never cleaned.

 Is there a solution to clean this TEMP file in my perl script ?
 
The version of MS-DOS perl :
   
   $RCSfile: perl.c,v $$Revision: 4.0.1.4 $$Date: 91/06/10 01:23:07 $
   Patch level: 10
   
The program :
   
   @REM=(qq!
   @perl %0.bat %1 %2 %3 %4 %5 %6 %7 %8 %9
   @goto end !) if 0 ;
   #
   foreach $i (0..$#ARGV)
   {
      print "$i $ARGV[$i]\n";
      if ($ARGV[$i] =~ /^-/)
      {
         $params .= $ARGV[$i] . " ";
      }
      else
      {
         $fichiers[$f++] = $ARGV[$i];
      }
   }
   open (VP, "| rsh gismo lpr $params");
   foreach $i (0..$#fichiers)
   {
      if (-T  $fichiers[$i])
      {
         print "Traitement de $fichiers[$i]\n";
         if ($nbfic++ > 0)
         {
            print VP "\f";
         }
         open(FIC, "$fichiers[$i]") || die "Impossible d'ouvrir $fichiers[$i] :$!\n";
         while(<FIC>)
         {
            print VP;
            $nblig++;
         }
         close(FIC);
      }
   }
   close(VP);
   print "\n$nbfic fichiers traites, representant un total de $nblig lignes\n";
   #system "rsh ygerne lpq @ARGV";
   #
   @REM=(qq!
   :end !) if 0 ;

Path: sparky!uunet!mcsun!uknet!acorn!unipalm!ian
From: i...@unipalm.uucp (Ian Phillipps)
Newsgroups: comp.lang.perl
Subject: Perl under MS-DOS with VROOMM.
Message-ID: <1992Jan13.155215.29220@unipalm.uucp>
Date: 13 Jan 92 15:52:15 GMT
References: <1992Jan09.071230.393@cnet.fr>
Organization: Unipalm Ltd., Hardwick, Cambridge CB3 7QJ, England
Lines: 31

r...@gismo.cnet-pab.fr (Jean-Michel ROY) writes:

> Each time, I run the folowing program, it create a temporary file like :
> SWP00929 in my TEMP directory which is never cleaned.

Don't know which version that is, but it isn't the one I have.

Mine runs out of memory before it does a pipe at all!

However - I've a partly-working version ready compiled with the Borland
C++ 3.0 compiler, which can take advantage of the Virtual Realtime
Object Overlay Memory Manager (is that right? Anyhow, Borland's
demand-paged overlay system) to reduce the memory required.

I have a configuration which uses a 128k code-swapping arena and totals
out at 280k resident without scripts, when ec; the 
I.e. difference between
	show mem free
and 
	perl -e "system 'show mem free';"
is 280k bytes.
It's possible to run with an arena of 64k bytes, if you're patient.

I'll post the diffs needed to get it going, once I've solved a couple of
residual problems and hacked the tests so they don't need
perl-calls-perl (it's not THAT small).

-- 
Ian Phillipps, Unipalm Ltd, 216 Science Park,		Phone +44 223 420002
Milton Road, Cambridge, CB4 4WA, England.		Phax  +44 223 426868
	Do signatures Have to be three lines?

Path: sparky!uunet!think.com!mips!pacbell.com!tandem!av8r!stu
From: s...@av8r.Tandem.com (Stuart Phillips)
Newsgroups: comp.lang.perl
Subject: Re: Perl under MS-DOS with VROOMM.
Message-ID: <1992Jan14.020723.16795@tandem.com>
Date: 14 Jan 92 02:07:23 GMT
References: <1992Jan09.071230.393@cnet.fr> <1992Jan13.155215.29220@unipalm.uucp>
Sender: n...@tandem.com
Reply-To: s...@Tandem.COM
Organization: Tandem Computers, Cupertino - USA
Lines: 54
Nntp-Posting-Host: av8r.tandem.com

In article <1992Jan13.155215.29...@unipalm.uucp>, i...@unipalm.uucp (Ian Phillipps) 
writes:
|> 
|> However - I've a partly-working version ready compiled with the Borland
|> C++ 3.0 compiler, which can take advantage of the Virtual Realtime
|> Object Overlay Memory Manager (is that right? Anyhow, Borland's
|> demand-paged overlay system) to reduce the memory required.
|> 
|> I have a configuration which uses a 128k code-swapping arena and totals
|> out at 280k resident without scripts, when ec; the 
|> I.e. difference between
|> 	show mem free
|> and 
|> 	perl -e "system 'show mem free';"
|> is 280k bytes.
|> It's possible to run with an arena of 64k bytes, if you're patient.
|> 

I've completed a port of Perl 4.019 to Borland C++ V3.0 and have it all
working except for the inclusion of a DOS port of GNU-ndbm to complete
the functionality.  Using a 128K arena I have some 300 Kbytes of memory
available for scripts; I implemented two user extensions using the
usersub.c hooks for free heap and free stack.

My version uses a version of spawn that pages the whole enchilada out
to extended memory or disk and leaves about 1.5K of itself resident.
The results of a 'system("mem");' under DOS-5 shows about 602K available
for running programs on my 386 machine.

If there's interest I can make the changes (and executable) available
via anonymous FTP.

|> I'll post the diffs needed to get it going, once I've solved a couple of
|> residual problems and hacked the tests so they don't need
|> perl-calls-perl (it's not THAT small).
|> 
|> -- 

I'd like the tests; I've run all the tests and analyzed the results but
hacked tests would be nice.  Note that using BC++ and the full speed
optimizations (I think -O2) found a problem when using the optimization
that converts intrinsic functions such as strcmp() etc. to in-lines.
I havent done any more exploration of the problem beyond disabling this
specific optimization.

|> Ian Phillipps, Unipalm Ltd, 216 Science Park,	Phone +44 223 420002
|> Milton Road, Cambridge, CB4 4WA, England.		Phax  +44 223 426868

Are all the people who port Perl to DOS:

	a) Brits ('cos I am and I presume he is)
	b) Called Phillips (or Philips or Phillipps or ......)

Happy Hacking !
Stu

Path: sparky!uunet!caen!zaphod.mps.ohio-state.edu!qt.cs.utexas.edu!
cs.utexas.edu!rutgers!cunixf.cc.columbia.edu!em21
From: e...@cunixf.cc.columbia.edu (Eben Moglen)
Newsgroups: comp.lang.perl
Subject: Re: Perl under MS-DOS with VROOMM.
Message-ID: <1992Jan14.023215.11834@cunixf.cc.columbia.edu>
Date: 14 Jan 92 02:32:15 GMT
Organization: Columbia University
Lines: 20


In article <1992Jan14.020723.16...@tandem.com>, Stuart Phillips writes:

>I've completed a port of Perl 4.019 to Borland C++ V3.0 and have it all
>working except for the inclusion of a DOS port of GNU-ndbm to complete
>the functionality.  Using a 128K arena I have some 300 Kbytes of memory
>available for scripts; I implemented two user extensions using the
>usersub.c hooks for free heap and free stack.
>
>My version uses a version of spawn that pages the whole enchilada out
>to extended memory or disk and leaves about 1.5K of itself resident.
>The results of a 'system("mem");' under DOS-5 shows about 602K available
>for running programs on my 386 machine.
>
>If there's interest I can make the changes (and executable) available
>via anonymous FTP.

I can't imagine any encouragement is really needed, but for my money you're 
sitting on one of the most important tools I could possibly have right now,
and if you release it in the form you say you can, you will be my hero.

Path: sparky!uunet!sun-barr!cs.utexas.edu!swrinde!mips!pacbell.com!tandem!av8r!stu
From: s...@av8r.Tandem.com (Stuart Phillips)
Newsgroups: comp.lang.perl
Subject: Perl 4.019 under MS-DOS using VROOM [ftp info]
Message-ID: <1992Jan14.162829.22453@tandem.com>
Date: 14 Jan 92 16:28:29 GMT
References: <1992Jan14.023215.11834@cunixf.cc.columbia.edu>
Sender: n...@tandem.com
Reply-To: s...@Tandem.COM
Organization: Tandem Computers, Cupertino - USA
Lines: 73
Nntp-Posting-Host: av8r.tandem.com

In article <1992Jan14.023215.11...@cunixf.cc.columbia.edu>, 
e...@cunixf.cc.columbia.edu (Eben Moglen) writes:
|> 
|> In article <1992Jan14.020723.16...@tandem.com>, Stuart Phillips writes:
|> 
|> >I've completed a port of Perl 4.019 to Borland C++ V3.0 and have it all
|> > .....

|> I can't imagine any encouragement is really needed, but for my money you're 
|> sitting on one of the most important tools I could possibly have right now,
|> and if you release it in the form you say you can, you will be my hero.

I always wanted to be a hero !  Alright folks, you can anon-FTP my attempts
from tandem.com [in pub/perl].  Here is the text of the README file thats
contained in the same directory.

This is a port of Perl 4.019 to MS-DOS using Borland C++ V3.0.  It will
NOT compile with versions of BC++ prior to 3.0.

The port is complete given the functionality of DOS versus UNIX.  Support
will be added in the future for ndbm() routines using GNU-ndbm (when I
get around to it !).

The port makes use of Borland's VROOM technology and pretty much *requires*
access to extended memory.  There is approx. 300+ Kbytes of memory available
for Perl scripts.  The amount of memory available can be checked using
two user subroutines added via Larry Wall's usersub.c hook.

        &heapfree()     - returns size of far heap in bytes
        &stkfree()      - returns size of free stack

The port also makes use of xspawn() (available from Simtel or Wuarchive
if you look hard enough) and will swap itself to either extended memory
or disk when Perl invokes the system() call.  This leaves about 605 Kbytes
of memory available for DOS apps on my 386 machine running DOS 5.0.

I've run this port of Perl against all the test cases supplied in the
normal Perl release.  They all work except those that call perl again
(not enough memory !) or have specific UNIX dependencies (that dont work
on DOS - too bad !).

I've only tested this port on 386 class machines; it should work just fine
on any machine with extended memory.  As per the Artistic and GNU licenses,
you get what you paid for and your on your own !


There are two files herein:

        bcdos_perl-4.019.zoo

                Contains all the source files as well as perl library.
                There are only one or two files that have changed from
                the standard 4.019 release (nice job lwall on portable
                code !).

        bcdos_perl-4.019E.zoo

                Contains the executeable for perl PERL.EXE and all the
                library files for perl.  If you don't intend to re-build
                PERL, then THIS IS THE FILE FOR YOU !


Nota bene re extended memory;

This port attempts to reserve 128K bytes of extended memory for the
VROOM arena; it will take more if it can get it but is reasonably frugal.
A 64K arena ran like a DOG so this is about the optimum size of memory
versus speed.

If you can run Windows on your machine then this port should run *just fine*.

Happy hacking !
Stuart G. Phillips N6TTO/G8HQA/DA4BM/OZ... (you get the idea)
[s...@tandem.com]