
                  OS/2 Programming                 (Fidonet)

                 Saturday, 04-Sep-1999 to Friday, 10-Sep-1999

+----------------------------------------------------------------------------+

From: Ian Moote                                         02-Sep-99 07:20:00
  To: ALL                                               04-Sep-99 01:20:02
Subj: Maximum threads.

Really quick question:

I'm writing for Warp 4. How many threads can be started by a single 
process? Unblocked. Real world, not theoretically.

I know that this is probably a simple question with a complex answer, so 
feel free to be as long-winded and technical as you like. [:)

TIA.

---
  "They've got the guns but we've got the numbers."-J.Morrison               
         

--- AdeptXBBS v1.11y (FREEWare/2)
 * Origin: Moote Pointe (1:2424/224.211)

+----------------------------------------------------------------------------+

From: Herbert Rosenau                                   03-Sep-99 12:43:15
  To: Jonathan de Boyne Pollard                         04-Sep-99 08:20:02
Subj: Terminating threads clean

 HR>> Most (but not all) OS/2 APIs calls DosExitCritSec() under cover.
 HR>> So you should not use any API (system, runtime, library) unless
 HR>> you know that this function would never call a system API.

 JdBP> Actually, that's not quite the right explanation.  

 JdBP> The reason not to call APIs is as explained in the CP Guide and
 JdBP> Reference.  (The CPREF talks about "dynamic link library
 JdBP> calls", but it is really talking about APIs in any arbitrary
 JdBP> libraries.  Even statically linked libraries can be a problem
 JdBP> if they use semaphores internally.)  If a second thread had
 JdBP> been already in that API when it was blocked by the first
 JdBP> thread entering the criticical section, then that second thread
 JdBP> will possibly be holding a mutex semaphore that restricts
 JdBP> access to the internals of that API.  If the first thread then
 JdBP> attempts to use that API, it will block on the mutex whilst
 JdBP> holding the critical section, and the two threads will be
 JdBP> deadlocked.

In redbooks is declared that most (but not all) OS/2 API will enter
DosExitCritSec() before entering ring 0. So any API to a runtime library my
call it. 

This is since OS/2 1.3. In OS/2 1.2 and earlier there was NO unlck and a
restriction not to use more than 10 assembler statements.

I'd had in OS/2 2.0 exactly that problem: In production environment a
multithreaded process crashed mostly (not always) in case of exit. The
DosWaitThread() API doesn't exist. Depending on memory amount the program
crashed or even crashed NOT.

To fix that bug I had to terminate other threads clean and before thread 1
itself terminates. For that I foun DosEnterCritSec() as friend of me. On
thread exit:

DosEnterCritSec();
death = 1;		/* signal to thread 1 thread is deed */
_endthread();		/* clean up C environment and die    */
			/* thred was started with _beginthread */

in thread 1

while (!death) DosSleep(0);	/* give up timeslice */

With DosWaitThread() this would be much simpler. A simple DosWaitThread() for
all threads in thread 1 would do the whole work.

DosEnterCritSec()/DosExitCritSec() pair is also a probate way to block other
threads for shorthand manipulation of process internal but thread shared
variables. It would save the overhead of semaphore handling. But it's always
unsuitable for longer code sequences (with/without any API).

--- Sqed/32 1.14/development
 * Origin: Schont die Umwelt: Vermeidet DOSen (2:2476/493)
102

+----------------------------------------------------------------------------+

From: MIKE RUSKAI                                       04-Sep-99 03:35:00
  To: IAN MOOTE                                         05-Sep-99 00:19:14
Subj: Maximum threads.

Some senseless babbling from Ian Moote to All
on 09-02-99  07:20 about Maximum threads....

 IM> Really quick question:

 IM> I'm writing for Warp 4. How many threads can be started by a single 
 IM> process? Unblocked. Real world, not theoretically.

 IM> I know that this is probably a simple question with a complex answer,
 IM> so  feel free to be as long-winded and technical as you like. [:)

MAX_THREADS - threads in use

The maximum value for threads is 4095, so 4095 minus the number of threads 
currently active.

Provided, of course, you don't run out of process address space.

Mike Ruskai
thannymeister@yahoo.com


... Alzheimer's advantage - new friends every day.

___ Blue Wave/QWK v2.20
--- Platinum Xpress/Win/Wildcat5! v3.0pr2
 * Origin: FIDO QWK MAIL & MORE!  WWW.DOCSPLACE.ORG (1:3603/140)
2604/104

+----------------------------------------------------------------------------+

From: andrew graham                                     01-Sep-99 13:01:09
  To: Eddy Thilleman                                    05-Sep-99 00:19:14
Subj: 386sx20 [was DosSetPriority]

Greetings Eddy!

28 Aug 99 11:57, Eddy Thilleman wrote to andrew graham:

 ET> And OS/2 is installed from floppies?

Yes. It's the original Warp3, with the White boot logo.

 ET> What about going to a system with a cdrom drive and split 
 ET> it ... with an archiving tool like pkzip, rar ...

 ET> Or, if you have a serial "nul modem" cable or a parallel 
 ET> cable ...

Both are good suggestions and I should have thought of the laplink idea
myself. Hmmm. Maybe I *am* lazy after all.
Warm Regards,
andrew
mail: awmg@yesic.com

--- Msged/2 TE 06 (pre)
 * Origin: Scented Candle-Cabbagetown (1:250/520)
2604/104

+----------------------------------------------------------------------------+

From: Jonathan de Boyne Pollard                         03-Sep-99 13:48:25
  To: All                                               05-Sep-99 06:44:28
Subj: TAUCMD

I'm writing an interpreter "engine" for command scripts (a.k.a. "batch
files").  The idea is that one can link CMDAPI.DLL into one's application and
run command scripts and execute command lines in the context of the current
process much like one does with the REXX interpreter in REXXAPI.DLL.

I've reached the stage where the engine executes command lines and runs
command scripts, and supports pretty much everything from environment variable 
expansion and internal commands to multiple commands on one line and
pipelines.  I'm now looking for people to use and test the API in their
programs.  

I can see a wide variety of uses for such an API, from NC clones and YAOS
variants that no longer need to "shell out" to run commands, to novel
approaches to specliased command interpreter programs, such as NSLOOKUP or an
FTP client, giving them the scripting, redirection, environment variable
expansion, and pipelining abilities that they so often lack because their own
interpreters are comparatively primitive.  (The CMD interpreter, like the REXX 
interpreter, is designed to be extensible.  So an FTP client would extend it
by adding internal commands for "GET", "PUT", "LS", and the like, for
example.)

If anyone is interested, please let me know immediately.

  JdeBP 

--- FleetStreet 1.22 NR
 * Origin: JdeBP's point, using Squish <yuk!> (2:257/609.3)
2604/104

+----------------------------------------------------------------------------+

From: Andrew Grillet                                    01-Sep-99 08:16:28
  To: Sean Dennis                                       05-Sep-99 06:44:28
Subj: ... Perl

Hi Sean,

-=> On 29 Aug 99  15:41:19 Sean Dennis said to Thomas Seeling <=-

 SD> Hello Thomas.

 SD> 26 Aug 99 09:37, you wrote to David Noon:
 
 TS> *_=\$#;$/=q#(.)#;$#=10;$^X=~s|.*/||;$\=chr;$#=gmtime$#;substr($#,$^F#^
 TS> F *$^F**$^F-1)=al;s$\$/( )\$/\$/$e\$2\u\$^X\$2\$3o\$1r$&&print time

 SD> What in God's name does that do? :P

I don't know, but if you rot(13) it, it is still not clear!

Andrew


... God dislikes money -- look who he gives it to.
--- Blue Wave/Max v2.30 [NR]
 * Origin: Me/2 <Meet-You> (2:254/259)
2604/104

+----------------------------------------------------------------------------+

From: Herbert Rosenau                                   04-Sep-99 20:14:06
  To: Ian Moote                                         05-Sep-99 06:44:28
Subj: Maximum threads.

 IM> Really quick question:

 IM> I'm writing for Warp 4. How many threads can be started by a
 IM> single 
 IM> process? Unblocked. Real world, not theoretically.

The answer is in your config.sys:
threads - currently running threads.

There is a maximum systemwide number of 4095 threads.

So you can set THREADS=4095. But not 4096 or higher.

--- Sqed/32 1.14/development
 * Origin: Schont die Umwelt: Vermeidet DOSen (2:2476/493)
102

+----------------------------------------------------------------------------+

From: Eddy Thilleman                                    04-Sep-99 20:15:00
  To: Andrew Grillet                                    05-Sep-99 20:21:27
Subj: Warp 3 withdrawal

Hi Andrew,

31 Aug 99, Andrew Grillet of 2:254/259 wrote to Harald Pollack:

AG> Twei Bier und Ein Worstie, Bitte. .... Danke

Twei is spelled incorrectly, it should be Zwei. :-)

AG> Seems to work in Holland and Denmark also.

I don't think it wouldn't work on me. Why don't you try it on me? ;-)

  Cheers   -=Eddy=-        email: eddy.thilleman@net.hcc.nl

... You can't teach ducks to dance.
--- MBM v4.14
 * Origin: Geniet, maar drink met maten (2:500/143.7)
102

+----------------------------------------------------------------------------+

From: Francois Thunus                                   05-Sep-99 14:45:00
  To: Will Honea                                        06-Sep-99 11:36:04
Subj: "Watcom's Assembly rules

Hello Will!

21 Jul 99 20:27, Will Honea wrote to Andrew Grillet:


 AG>> If thse people were employing van drivers they wouldn't advertise
 AG>> for van drivers, they would want someone with 2 years experience
 AG>> of driving a 1999 Ford Transit between Dagenham and Gatwick.

 WH> Stories like this abound!  My favorites involve formation flying for

I have similar experiences in different fields.

 WH> Ever read 'The Peter Principle' ?

damn true. Should be mandatory reading for any admin.



                             -= Francois =-
                      Francois(at)telematique(dot)org
                       http://www.telematique.org/ft

[Just got back from holiday, sifting thru the piled up mail...]

"Didn't I see you at Milliways ?" -- Thor

--- GoldED 3.0.1
 * Origin:  Xara Sto Pragma ! Gasperich - Luxembourg -> (FidoNet 2:270/25.2)
2604/104

+----------------------------------------------------------------------------+

From: Francois Thunus                                   05-Sep-99 14:48:00
  To: Eddy Thilleman                                    06-Sep-99 11:36:04
Subj: abend

Hello Eddy!

29 Jul 99 19:49, Eddy Thilleman wrote to David Noon:

 ET>> What's "abend"? It isn't listed in my little dictionary.
 ET> abend = abnormal end ??

yes. This is VERY old. coming from IBM I believe. One of the local language
here being german, it always makes us laugh (there is no such a thing as a
"guten abend").

                             -= Francois =-
                      Francois(at)telematique(dot)org
                       http://www.telematique.org/ft

[Just got back from holiday, sifting thru the piled up mail...]

Don't worry: The answer's at the back of the book.

--- GoldED 3.0.1
 * Origin:  Xara Sto Pragma ! Gasperich - Luxembourg -> (FidoNet 2:270/25.2)
2604/104

+----------------------------------------------------------------------------+

From: Andrew Grillet                                    05-Sep-99 10:17:15
  To: Eddy Thilleman                                    07-Sep-99 06:05:16
Subj: Terminating threads clean

Hi Eddy,

-=> On 02 Sep 99  08:32:30 Eddy Thilleman said to MIKE RUSKAI <=-


 ET> ... Only XT users know that 1-1-80 was on a Tuesday.

But in a couple of months, the rest of the world will find this out
for themselves. I need to check if my XT is Y2K compatible. The
clock in my Celeron doesn't even work now!

Andrew



... Remember, the waste paper basket is your truest friend.
--- Blue Wave/Max v2.30 [NR]
 * Origin: Me/2 <Meet-You> (2:254/259)
2604/104

+----------------------------------------------------------------------------+

From: Ian Moote                                         06-Sep-99 10:06:00
  To: MIKE RUSKAI                                       07-Sep-99 12:13:10
Subj: Maximum threads.

MR> IM> How many threads can be started by a single process?
MR>
MR> MAX_THREADS - threads in use
MR>
MR> The maximum value for threads is 4095, so 4095 minus the number of
MR> threads currently active.
MR>
MR> Provided, of course, you don't run out of process address space.

Well, that was a short reply! Cool! [:) So, theoretical maximum of 4095, 
practically modified by actual physical process address space.

Most of the threads will be identical and will just be running different 
instance data, so process space shouldn't be a problem. And with what 
i've got running that gives me probably just under 4000 threads to play 
with. _Should_ be more than enough.

That's great. Thanks, Mike!

---
  This is just a hobby.  Perfection is not required.  Fun is.                
        

--- AdeptXBBS v1.11y (FREEWare/2)
 * Origin: Moote Pointe (1:2424/224.211)

+----------------------------------------------------------------------------+

From: Ian Moote                                         06-Sep-99 10:06:00
  To: HERBERT ROSENAU                                   07-Sep-99 12:13:10
Subj: Maximum threads.

HR> IM> How many threads can be started by a single process?
HR>
HR> The answer is in your config.sys: threads - currently running
HR> threads.
HR>
HR> There is a maximum systemwide number of 4095 threads.
HR>
HR> So you can set THREADS=4095. But not 4096 or higher.

That's great, Herbert. Concise, to the point, and answers my question 
completely! Thanks a lot! Take care and TTYL.

---
  This is not a tagline and has no business being here.                      
  

--- AdeptXBBS v1.11y (FREEWare/2)
 * Origin: Moote Pointe (1:2424/224.211)

+----------------------------------------------------------------------------+

From: Eddy Thilleman                                    06-Sep-99 10:44:17
  To: Jonathan de Boyne Pollard                         07-Sep-99 15:28:28
Subj: TAUCMD

Hi Jonathan,

03 Sep 99, Jonathan de Boyne Pollard of 2:257/609.3 wrote to All:

JdBP> I'm writing an interpreter "engine" for command scripts

I'm curious, what advantages has this above REXX ?

  Cheers   -=Eddy=-        email: eddy.thilleman@net.hcc.nl

... Troi and Polaroid, the picture's developing.
--- MBM v4.14
 * Origin: Heh man! Mijn zapper staat nu op de automaat (2:500/143.7)
102

+----------------------------------------------------------------------------+

From: Mario Semo                                        30-Aug-99 09:04:06
  To: MIKE RUSKAI                                       07-Sep-99 19:48:19
Subj: Terminating threads clean

Hallo MIKE!

Antwort auf eine Message von MIKE RUSKAI an VITUS JENSEN:

 VJ>> You can use DosWaitThread so that you can recover thread resources
 VJ>> when the thread ends, or to synchronize the execution of a thread
 VJ>> with the execution of other threads. === DosWaitThread is used to
 VJ>> wait for termination of threads within a process. It is usually used
 VJ>> so that thread resources (for example, the stack) can be recovered
 VJ>> when a thread ends. ===

 MR> FWIW, I compiled a quickie to test this (as I had never used 
 MR> DosWaitThread()), and the results seem to indicate that resources are
 MR> not  lost. 

 MR> So, at the very least, the thread's stack is recovered by the system
 MR> as  soon as the thread ends, regardless of whether or not
 MR> DosWaitThread() is  called.

Ive always assumed, that this is historical from OS2 1.x times. here the user
allocates the stack and so the use definitly have to know, when the thread
finally terminated.

but under 2.x times i assumed there is a thread exit routine inserted by the
OS2 itself.  and this function should run, when the thread low level
terminates. at this point the thread resources are not need anymore, and so
can savely be freed.

there is one scenario when you loose resources in threads:
  create a thread with _beginthread
  create C++ objects on the (thread) stack and let the ctors allocate
resources.
  then terminate the thread with _endthread (selftermination)

then no destructors are called and so the resources are lost.


Servus, Mario!

--- FleetStreet 1.21 PR#2
 * Origin: LC/32 Development Team, http://www.kirchnersoft.com (2:310/14.11)
2604/104

+----------------------------------------------------------------------------+

From: Jonathan de Boyne Pollard                         06-Sep-99 14:02:28
  To: Herbert Rosenau                                   08-Sep-99 06:11:15
Subj: Terminating threads clean

 HR> In redbooks is declared that most (but not all) OS/2 API will enter
 HR> DosExitCritSec() before entering ring 0. 

I'd like to see chapter and verse on that.  What redbook ?  And what does it
say exactly ?

  JdeBP 

--- FleetStreet 1.22 NR
 * Origin: JdeBP's point, using Squish <yuk!> (2:257/609.3)
2604/104

+----------------------------------------------------------------------------+

From: Dale A Cook                                       07-Sep-99 00:07:15
  To: All                                               08-Sep-99 07:57:28
Subj: help please?

* Original Area: OS2-BBSRUN
* Original To  : All (81:105/3253)

    
    
   Could someone recommend is decent PCI video-accerator card(at least 4 megs
video memory or more) with high-res drivers for OS/2 ?
     
   My Graphics Blaster Extreme(4 meg) won't do anything beyond 640 x
480_16colors & www.creaf.com has no drivers for it.
       
       
       
                Thanx in advance for any info!
       
                      
                    Dale A Cook >>   cookda@gate.net
  
                                     81:105/3253 OS/2NET
                                     
                                     1:365/3253 aka 1:365/1 fidonet
       

--- Maximus/2 3.01
 # Origin: Gargoyle's Place BBS (1:365/3253)
 * Origin: The TALKING HUB * Alexandria, VA * (703) 549-5612 (1:109/11)

+----------------------------------------------------------------------------+

From: LEE ARONER                                        07-Sep-99 20:22:00
  To: JONATHAN DE BOYNE POLLARD                         08-Sep-99 13:19:02
Subj: TAUCMD

JDBP> I'm writing an interpreter "engine" for command scripts (a.k.a. "batch
files").
    >  The idea is that one can link CMDAPI.DLL into one's application and run
    > command scripts and execute command lines in the context of the current
process
    > much like one does with the REXX interpreter in REXXAPI.DLL.

JDBP> I've reached the stage where the engine executes command lines and runs
command
    > scripts, and supports pretty much everything from environment variable
    > expansion and internal commands to multiple commands on one line and
pipelines.
    >  I'm now looking for people to use and test the API in their programs.  

JDBP> I can see a wide variety of uses for such an API, from NC clones and
YAOS
    > variants that no longer need to "shell out" to run commands, to novel
    > approaches to specliased command interpreter programs, such as NSLOOKUP
or an
    > FTP client, giving them the scripting, redirection, environment variable
    > expansion, and pipelining abilities that they so often lack because
their own
    > interpreters are comparatively primitive.  (The CMD interpreter, like
the REXX
    > interpreter, is designed to be extensible.  So an FTP client would
extend it by
    > adding internal commands for "GET", "PUT", "LS", and the like, for
example.)

JDBP> If anyone is interested, please let me know immediately.


   Johnathan, I'd be interested, but my current state of knowledge 
   of OS/2 programming (Expert DOS, so-so at Win32), might make for 
   a significant latency in useful feedback...probably not what you 
   are looking for.

   But I'd be interested in taking a look anyways, just to see what 
   I can learn, and I'd certainly report any findings. Might even be 
   good to have a novice look at it from the understandability / 
   usability standpoints. If that's good enough for you then:  
   leea@psynet.net

   Thanks,                          

                                       LRA


 -- SPEED 2.01 #2720: ... Win95: The "ValueJet" of software.
--- Platinum Xpress/Win/Wildcat5! v2.0
 * Origin: Memory Alpha - (253) 859-6200 (1:343/311)

+----------------------------------------------------------------------------+

From: Sean Dennis                                       08-Sep-99 09:24:26
  To: Andrew Grillet                                    09-Sep-99 00:20:11
Subj: ... Perl

Hello Andrew.

01 Sep 99 08:16, you wrote to me:

 TS>> *_=\$#;$/=q#(.)#;$#=10;$^X=~s|.*/||;$\=chr;$#=gmtime$#;substr($#,
 TS>> $^F#^ F *$^F**$^F-1)=al;s$\$/(
 TS>> )\$/\$/$e\$2\u\$^X\$2\$3o\$1r$&&print time

 SD>> What in God's name does that do? :P

 AG> I don't know, but if you rot(13) it, it is still not clear!

Heheh-that's bad... ;)

Later,
Sean

... You realize every April th that the dollar bill is the world's most
cleverly

--- AfterHours/2 and GoldED/2 : Enjoying the silence.
 * Origin: a..f..t..e..r..h..o..u..r..s..2..b..b..s (1:395/610)
2604/104

+----------------------------------------------------------------------------+

From: Thomas Seeling                                    07-Sep-99 08:18:27
  To: Eddy Thilleman                                    09-Sep-99 16:15:04
Subj: os/2 in teller machines

Hallo Eddy,

Am 04 Sep 99 um 20:15 schrieb Eddy Thilleman an Andrew Grillet:

 AG>> Twei Bier und Ein Worstie, Bitte. .... Danke

 ET> Twei is spelled incorrectly, it should be Zwei. :-)

if we're going to nitpick, it is a "Wurst" (sausage).
Depending on your favourites you might order
Rindswurst (beef - think about it nowadays :) )
Thueringer (thuringian recipe)
Bratwurst  (mashed pork/beef) usually with mustard
Currywurst (either from Rindswurst or Thueringer with Currysauce)

There are a lot of regional specialties from all over Germany.

Personally I prefer Bratwurst at barbequeue :)

To have a connection to the topic: you need money to pay any Wurst. Most
teller machines are using OS/2 to handle your money requests :). Until
recently it was a special 1.3 edition, now it is 3.0, afaik (at least at
Deutsche Bank last year). This bank has still a big deal in OS/2: ~50.000 OS/2 
servers worldwide, although most desktop machines are 95/NT :(.


Tschau...Thomas

--- GEDW32 3.0.1
 * Origin: Die TeX-Box: +49-6036-980114 V.34/X.75 24h (2:2461/332.42)

+----------------------------------------------------------------------------+

From: Harald Pollack                                    07-Sep-99 13:27:15
  To: Ian Moote                                         09-Sep-99 19:35:13
Subj: Maximum threads.

Am 02. Sep 99 07:20, schrieb Ian Moote (1:2424/224.211)
    an ALL:

Servus Ian!

 IM> Really quick question:

 IM> I'm writing for Warp 4. How many threads can be started by 
 IM> a single process? Unblocked. Real world, not theoretically.

 IM> I know that this is probably a simple question with a 
 IM> complex answer, so feel free to be as long-winded and technical as you 
 IM> like. 

Nothing 'complex', just simply type 'HELP THREADS' on your command prompt...

Herzliche Gruesse, Harald

-+- Message created on Tuesday September, 07 1999 13:28:56 EDT
--- WarpEd/2 1.11
 * Origin: LFP Schwechat [OS/2] (2:310/14.59)

+----------------------------------------------------------------------------+

From: Herbert Rosenau                                   09-Sep-99 19:12:21
  To: Jonathan de Boyne Pollard                         10-Sep-99 06:11:26
Subj: Terminating threads clean

 HR>> In redbooks is declared that most (but not all) OS/2 API will
 HR>> enter DosExitCritSec() before entering ring 0. 

 JdBP> I'd like to see chapter and verse on that.  What redbook ?  And
 JdBP> what does it say exactly ?

I don't havbe the redbooks here. The last time I'd access to them is some
month ago. A quick search on IBMs redbook pages wasn't successfull - too many
books :-)

--- Sqed/32 1.14/development
 * Origin: Schont die Umwelt: Vermeidet DOSen (2:2476/493)
102

+----------------------------------------------------------------------------+

From: Eddy Thilleman                                    08-Sep-99 09:08:25
  To: Andrew Grillet                                    10-Sep-99 06:11:26
Subj: Terminating threads clean

Hi Andrew,

05 Sep 99, Andrew Grillet of 2:254/259 wrote to Eddy Thilleman:

AG> But in a couple of months, the rest of the world will find
AG> this out for themselves. I need to check if my XT is Y2K
AG> compatible. The clock in my Celeron doesn't even work now!

Is that serious? I mean, aren't you kidding?

  Cheers   -=Eddy=-        email: eddy.thilleman@net.hcc.nl

... "The *Real* Story of the Film So Far..."
--- MBM v4.14
 * Origin: Hoe langer je leeft hoe korter het duurt. (2:500/143.7)
102

+----------------------------------------------------------------------------+

From: Eddy Thilleman                                    08-Sep-99 09:17:27
  To: Ian Moote                                         10-Sep-99 06:11:26
Subj: Maximum threads.

Hi Ian,

6 Sep 99 , Ian Moote of 1:2424/224.211 wrote to MIKE RUSKAI:

IM> Well, that was a short reply! Cool! [:) So, theoretical
IM> maximum of 4095, practically modified by actual physical
IM> process address space.

Don't forget the THREADS= statement in config.sys (which maximum is 4095).

  Cheers   -=Eddy=-        email: eddy.thilleman@net.hcc.nl

... "We get it fresh on Monday."
--- MBM v4.14
 * Origin: Pff, de top van de ladder... Shit, verkeerde muur! (2:500/143.7)
102

+----------------------------------------------------------------------------+

From: Mario Semo                                        08-Sep-99 10:53:01
  To: Thomas Seeling                                    10-Sep-99 21:25:26
Subj: ... Perl

Hallo Thomas!

Antwort auf eine Message von Thomas Seeling an David Noon:

 TS> There sure is, the first winner was a cow-orker of mine who submitted
 TS> this:

 TS> *_=\$#;$/=q#(.)#;$#=10;$^X=~s|.*/||;$\=chr;$#=gmtime$#;substr($#,$^F#^
 TS> F *$^F**$^F-1)=al;s$\$/( )\$/\$/$e\$2\u\$^X\$2\$3o\$1r$&&print time

mh. i created a file x.pl and wrote the above into a lline. first in 2 lines
(as above) then in 1 line, without spaces:

========= x.pl =========
*_=\$#;$/=q#(.)#;$#=10;$^X=~s|.*/||;$\=chr;$#=gmtime$#;substr($#,$^F#^F*$^F**$^
F-1)=al;s$\$/( )\$/\$/$e\$2\u\$^X\$2\$3o\$1r$&&print time
=======================

here are the results: (i have no experience in perl, but i was interested in
running it).


L:\NT>perl x.pl
Semicolon seems to be missing at x.pl line 1.
syntax error at x.pl line 2, near "F "
Execution of x.pl aborted due to compilation errors.


L:\NT>perl x.pl
syntax error at x.pl line 2, at EOF
Execution of x.pl aborted due to compilation errors.

L:\NT>perl -v

        Win32 port Copyright (c) 1995-1996 Microsoft Corporation.
                All rights reserved.
        Developed by ActiveWare Internet Corp., http://www.ActiveWare.com

Perl for Win32 Build 316 - Built 09:44:44 Mar 13 1998

This is perl, version 5.003_07

Copyright 1987-1996, Larry Wall

        + suidperl security patch
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.








Servus, Mario!

--- FleetStreet 1.21 PR#2
 * Origin: LC/32 Development Team, http://www.kirchnersoft.com (2:310/14.11)

+----------------------------------------------------------------------------+

+============================================================================+
