/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
DOS <=> PERL bug?
Fra : Ana Carpe Diem


Dato : 16-04-01 15:58

Hej Alle
======

Som ny PERLer skal man jo passe på med at tale om fejl i Perl/DOS, men jeg
vover alligevel:

Følgende kode giver dette spøjse resultat:

....
(her køres en 'dir' i en løkke)
....
....
DOSTEST PL 120 16/04/01 10:54 dostest.pl
DOSTEST BAT 1.962 16/04/01 10:37 dostest.bat
BOGM15 PL 4.108 15/04/01 11:25 BOGM15.PL
37 arquivo(s) 197.888 bytes
2 pasta(s) 4.495.55 MB livre(s)
===>
===>
(ups, nu virker 'dir' ikke mere!)


===>
===>
....
....
....

Som med andre ord betyder at 'dir' ophører med at fungere efter 66 gange
eller så. Hvis man fjerner '#' foran '$dummy'-linjen forværres problemet
fordi dos-shell'en hurtigere får opbrugt det antal gange det virker.

En .bat fil med 100 'dir' lider ikke af samme fejl. Har det noget at gøre
med at jeg kører win98 og ikke NT?


mvh Henning Petersen

--------------
# file: dostest.pl
# dostest code, runs under win98
for ($i=0; $i<100; $i++ ) {
#$dummy = `echo hej`;
$envar = `dir`;
print "===>",$envar,"\n";
}
--------------



 
 
Stig H. Jacobsen (17-04-2001)
Kommentar
Fra : Stig H. Jacobsen


Dato : 17-04-01 05:49

On Mon, 16 Apr 2001 11:58:01 -0300, Ana Carpe Diem wrote:

> En .bat fil med 100 'dir' lider ikke af samme fejl. Har det noget at gøre
> med at jeg kører win98 og ikke NT?

Prøv med en anden shell, f.eks. bash fra Cygnus. (set SHELL
environment variablen for at få Perl til at bruge den)

Jeg ved ikke lige hvem skurken er - det kan også være samspillet
mellem Perl og Windows/command.com..

Bemærk iøvrigt, at hvis du skal bruge teknikken til "rigtig"
kode, så er opendir() og venner at langt at foretrække fremfor
`...` konstruktionen.

Sidstnævnte starter nemlig en ny shell hver gang den bruges og
det er en ganske dyr affære = dit script kører ret langsomt og
bruger en masse resourcer på maskinen.

--
Stig

Lars Kim Lund (17-04-2001)
Kommentar
Fra : Lars Kim Lund


Dato : 17-04-01 07:23

Hej "Stig H. Jacobsen" <nzaa7en001@sneakemail.com>

>Jeg ved ikke lige hvem skurken er - det kan også være samspillet
>mellem Perl og Windows/command.com..

Jeg tror ikke den får dræbt (eller ryddet op efter) de shells den
starter, hvorefter maskinen render tør for ressourcer. Det er også
muligt det har noget at gøre med den famøse 640kb grænse på Win9x, der
jo stort set en grafisk brugerflade på DOS.

Jeg testede scriptet på min Win-2000, der kører det fint.

--
Lars Kim Lund
http://www.net-faq.dk/

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste