[6294] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 916 Volume: 7

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sat Feb 8 17:07:24 1997

Date: Sat, 8 Feb 97 14:00:21 -0800
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Sat, 8 Feb 1997     Volume: 7 Number: 916

Today's topics:
     ANNOUNCE: Math::MatrixReal 1.1 (Steffen Beyer)
     ANNOUNCE: Set-IntegerFast bundle 3.2 (Steffen Beyer)
     ANNOUNCE: Term::ReadLine::Gnu-0.06 uploaded to CPAN <hayashi@pdcd.ilab.toshiba.co.jp>
     Any new development on Perl for NT; bug in stat (Rainer Hoerbe)
     Re: Any new development on Perl for NT; bug in stat (Patrick Duff)
     CGI SCRIPTS!! <hayes@coventry.ac.uk>
     Re: CGI SCRIPTS!! (Brian L. Matthews)
     Re: CGI SCRIPTS!! <jzawodn@cs.bgsu.edu>
     diff 5.001 5.003 (Anthony Bruck)
     Re: fcntl() in v4 <jander@jander.com>
     Re: File handle referring to a string... (Andrew M. Langmead)
     Re: format print produces blank pages <jander@jander.com>
     Re: IS Perl on NT Thread Safe ? ("John Dallman")
     Re: Is this a bug in perl???  (Missing newlines) (Brian L. Matthews)
     Re: Matt's Script: SSI Random Banner Generator (Thomas J. Forbes)
     Re: negative zero???? <merlyn@stonehenge.com>
     Re: Parsing From: line in email (Tony Bowden)
     perl execution in xemacs? <njb@cs.bham.ac.uk>
     Re: Perl vs Korn Shell <rra@cs.stanford.edu>
     PerlMUD 2.1 Released (Better Code, WWW Interface) (Thomas Boutell)
     Random Banner Script Problem (Thomas J. Forbes)
     Searching own web site <Charles@hnnet.demon.co.uk>
     Send 20 FREE Pages of Fax to any Fax machines in the Wo chsu@from.net
     Re: Sending results to two frames at once (Chris Nandor)
     Using sockets to connect to daemon - code wanted. <kevin@aguecheek.demon.co.uk>
     Re: Wanted NT Perl Script <jzawodn@cs.bgsu.edu>
     Re: why can't "system" return a long? <tchrist@mox.perl.com>
     Re: why can't "system" return a long? (Dave Thomas)
     Digest Administrivia (Last modified: 8 Jan 97) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: 8 Feb 1997 13:35:15 GMT
From: sb@sdm.de (Steffen Beyer)
Subject: ANNOUNCE: Math::MatrixReal 1.1
Message-Id: <5dhvej$s5m$1@nadine.teleport.com>

I am glad to present

========================================
  Module "Math-MatrixReal" Version 1.1
========================================

to the Perl community.


Contents of this message:
-------------------------

    -   Legal stuff
    -   Requirements
    -   What does it do
    -   Version history
    -   Plans for the future
    -   Credits
    -   Where to find
    -   Final note


Legal stuff:
------------

Copyright (c) 1996, 1997 by Steffen Beyer. All rights reserved.
This package is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.


Requirements:
-------------

Perl version 5.000 or higher capable of "overloading" (overload.pm).


What does it do:
----------------

Math::MatrixReal - Matrix of Reals

Implements the data type "matrix of reals" (and consequently also
"vector of reals") which can be used almost like any other basic
Perl type thanks to OPERATOR OVERLOADING, i.e.,

    $product = $matrix1 * $matrix2;

does what you would like it to do (a matrix multiplication).

Also features many important operations and methods: matrix norm,
matrix transposition, matrix inverse, determinant of a matrix, order
and numerical condition of a matrix, scalar product of vectors, vector
product of vectors, vector length, projection of row and column vectors,
a comfortable way for reading in a matrix from a file, the keyboard or
your code, and many more.

Allows to solve linear equation systems using an efficient algorithm
known as "L-R-decomposition" and several approximative (iterative) methods.

Features an implementation of Kleene's algorithm to compute the minimal
costs for all paths in a graph with weighted edges (the "weights" being
the costs associated with each edge).


Version history:
----------------

Version 1.0 was the initial release.

Version 1.1 fixes a bug in the "kleene()" method.


Plans for the future:
---------------------

Define test cases (which is not trivial since results will depend on the
local implementation of floating point arithmetics on a given machine!).

Compute the characteristic polynom, eigenvalues and eigenvectors,
orthogonal matrices, ...

Deal with symmetric and with orthogonal matrices, multilinear functions, ...

Create a module "Math::MatrixCplx" to deal with matrices of complex numbers...

Deal with hermite matrices, multilinear functions, ...


Credits:
--------

None yet except - as always - to Andreas Koenig <andreas.koenig@mind.de>
for his relentless support and efforts as upload manager of the CPAN!


Where to find:
--------------

At the usual ftp sites for Perl (CPAN = "Comprehensive Perl Archive Network"):

The file

        Math-MatrixReal-1.1.tar.gz

can be found in directory

    .../CPAN/authors/id/STBEY/  

or

    .../CPAN/modules/by-category/06_Data_Type_Utilities/Math/

or

    .../CPAN/modules/by-module/Math/

(See "The Perl 5 Module List" by Tim Bunce and Andreas Koenig
in news:comp.lang.perl.modules for a list of CPAN ftp servers)


Final note:
-----------

If you need any assistance or have any comments, problems, suggestions,
findings, complaints, questions, insights, compliments or donations to give ;-)
then please don't hesitate to send me a mail:

sb@sdm.de (Steffen Beyer)

In fact I'd be glad if you could drop me an e-mail when you are using this
package, so I can see how much interest exists in it and how much time is
reasonable to spend on its further development.

Therefore, I would also be glad to know what you liked and what you disliked
about this package!

And I would also be very interested to know what your application is in
which you found this package to be useful, just to get an idea what can
all be done with it and in which direction it should be developed further.

Many thanks in advance!!

With kind regards,
--
    |s  |d &|m  |    Steffen Beyer <sb@sdm.de> (+49 89) 63812-244 fax -150
    |   |   |   |    software design & management GmbH & Co. KG
    |   |   |   |    Thomas-Dehler-Str. 27, 81737 Munich, Germany.




------------------------------

Date: 8 Feb 1997 13:35:34 GMT
From: sb@sdm.de (Steffen Beyer)
Subject: ANNOUNCE: Set-IntegerFast bundle 3.2
Message-Id: <5dhvf6$s5n$1@nadine.teleport.com>

I am glad to announce

=========================================
  Package "Set-IntegerFast" Version 3.2
=========================================

to the Perl community.


Contents of this message:
-------------------------

    -   What's new?
    -   Legal stuff
    -   Features
    -   Requirements
    -   What does it do
    -   Credits
    -   Where to find
    -   Final note


What's new?
-----------

Four new methods have been added to the "Set::IntegerFast" module:

The first three methods fill the gap between setting or clearing either
*all* elements in a set at once or a *single* element at a time: it is now
possible to clear, set and flip a whole *interval* of elements (of arbitrary
size, as long as it will fit into the set as a whole) all at once!

Their names and usages are:

    -   $set->Empty_Interval($lower,$upper);
    -   $set->Fill_Interval($lower,$upper);
    -   $set->Flip_Interval($lower,$upper);

(the interval always includes both limits, "$lower" and "$upper")

This makes it easy to translate runs of integers as used by the "newsrc"
file format (for example 1-3382,3384,3386-3388) into sets of this package,
for instance.

There is also a new "$set->Size()" method which returns the size a given
set has been created with (or "Resize()"d to).

The same four methods have been added to the "Set::IntegerRange" module in
an analog fashion (see the man page).

The "Math::MatrixBool" module has been significantly improved through a
C library (linked to Perl via the XSUB interface) that handles matrix
multiplication and the calculation of a matrix's closure (Kleene's
algorithm).

The module now also offers a "new_from_string()" method just like the
"Math::MatrixReal" module.

Moreover, it has been equipped with a "Dim()" (dimensions) method which
the "Math::MatrixReal" module also already had and which I simply forgot
to implement in the previous version.

A severe bug was fixed in the "kleene()" method of the "Math::MatrixReal"
module.


Legal stuff:
------------

Copyright (c) 1995, 1996, 1997 by Steffen Beyer. All rights reserved.
This package is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.


Features:
---------

*   "lib_set.c":

        +   efficient (fast) handling of bit vectors and set operations,
            auto-configuring for using machine word as basic storage unit
            (most efficient!)
            (C library, completely independent of Perl)

*   "Set::IntegerFast":

        +   efficient (fast) object-oriented methods for handling sets
            of integers (intervals from zero to some positive integer)
            (Perl XSUBs in C, uses "lib_set.c")

*   "Set::IntegerRange":

        +   object-oriented methods for handling sets of integers
            (arbitrary intervals)
            (in Perl, uses "Set::IntegerFast")

        +   overloaded arithmetic and relational operators
            for still more ease of use
            (in Perl, uses first part of "Set::IntegerRange")

*   "Math::MatrixBool":

        +   object-oriented methods for handling matrices of booleans
            (Boolean Algebra)
            (in Perl, uses "Set::IntegerFast")

        +   overloaded arithmetic and relational operators
            for still more ease of use
            (in Perl, uses first part of "Math::MatrixBool")

        +   computes reflexive transitive closure using Kleene's
            algorithm (essential for solving path-problem in graphs)

        +   this is mainly an example application to help you build
            your own (using "Set::IntegerFast")

*   "Math::MatrixReal":

        +   object-oriented methods for handling matrices of reals
            (for demonstration purposes only)
            (in Perl, independent stand-alone module)

        +   overloaded arithmetic and relational operators
            allow you to use this data type (almost) like
            any other built-in Perl data type

        +   features another implementation of Kleene's algorithm to
            compute the minimal costs for all paths in a graph with
            weighted edges (the "weights" being the costs associated
            with each edge)

        +   allows to solve linear equation systems using an efficient
            algorithm known as "L-R-decomposition" and several approxi-
            mative (iterative) methods

        +   allows you to convert a matrix into a string (in a nice,
            human-readable format) and to read it back in later (for
            instance from a file!), or using the shell-like "here-
            document" syntax (among other possibilities):

            $matrix = Math::MatrixReal->new_from_string(<<"MATRIX");
            [   3    2    0   ]
            [   0    3    2   ]
            [  $c1  $c2  $c3  ]
            MATRIX

*   "DFA::Kleene":

        +   still another implementation of Kleene's algorithm to compute
            the language accepted by a Deterministic Finite Automaton
            (for demonstration purposes only)
            (in Perl, independent stand-alone module)

*   "Graph::Kruskal":

        +   implementation of Kruskal's efficient algorithm for Minimal
            Spanning Trees in graphs in O( n * ld(n) )
            (for demonstration purposes only)
            (in Perl, independent stand-alone module)

        +   example of an algorithm relying heavily on sets which uses
            a different (fascinating!) representation for sets than the
            "Set::IntegerFast" module (see the Graph::Kruskal(3) man page!)

*   "Kleene.pod":

        +   a short introduction into the theory behind Kleene's algorithm


Requirements:
-------------

Perl version 5.000 or higher, a C compiler capable of the ANSI C standard (!)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


What does it do:
----------------

The base module of this package, "Set::IntegerFast", allows you to create
sets of arbitrary size (only limited by the size of a machine word and avai-
lable memory on your system) of an interval of positive integers starting
with zero, to dynamically change the size of such sets and to perform all
the basic operations for sets on them, like

- adding or removing elements,

- testing for the presence of a certain element,

- computing the union, intersection, difference, symmetric difference or
  complement of sets,

- copying sets,

- testing two sets for equality or inclusion, and

- computing the minimum, the maximum and the norm (number of elements) of
  a set.

Note that it is extremely easy to implement sets of arbitrary intervals
of integers using this module (negative indices are no obstacle), despite
the fact that only intervals of positive integers (from zero to some posi-
tive integer) are supported directly.

Please refer to the Set::IntegerFast(3) man page and the "Set::IntegerRange"
module to see how this can be done!

The module is mainly intended for mathematical or algorithmical computa-
tions. There are also a number of efficient algorithms that rely on sets.

An example of such an efficient algorithm (which uses a different repre-
sentation for sets than this module, however) is Kruskal's algorithm for
minimal spanning trees in graphs. (That algorithm is included in this dis-
tribution as a Perl module for those interested. Please refer to the
Graph::Kruskal(3) man page for more details!)

Another famous algorithm using sets is the "Seave of Erathostenes" for
calculating prime numbers, which is included here as a demo program
(see "Set/primes.pl").

An important field of application is the computation of "first", "follow"
and "look-ahead" character sets for the construction of LL, SLR, LR and LALR
parsers for compilers (or a compiler-compiler, like "yacc", for instance).

(That's what the C library in this package was initially written for)

(See Aho, Hopcroft, Ullman, "The Design and Analysis of Computer Algorithms"
for an excellent book on efficient algorithms and the famous "Dragon Book"
on how to build compilers by Aho, Sethi, Ullman)

Therefore, this module is primarily designed for efficiency and not for a
comfortable user interface (the latter can be added by additional modules,
as shown by the "Set::IntegerRange" and "Math::MatrixBool" modules).

It only offers a basic functionality and leaves it up to your application
to add whatever special handling it needs (for example, negative indices
can be realized by biasing the whole range with an offset).

(Please refer to the "Set::IntegerRange" module in this package to see how!)

Sets in this module are implemented as bit vectors, and elements are positive
integers from zero to the maximum number of elements (which you specify when
creating the set) minus one.

Each element (i.e., number or "index") thus corresponds to one bit in the
bit array. Bit number 0 of word number 0 corresponds to element number 0,
element number 1 corresponds to bit number 1 of word number 0, and so on.

The module doesn't use bytes as basic storage unit, it rather uses machine
words, assuming that a machine word is the most efficiently handled size of
all scalar types on any machine (that's what the C standard proposes and
assumes anyway).

In order to achieve this, it automatically determines the number of bits
in a machine word on your system and then adjusts its internal constants
accordingly.

The greater the size of this basic storage unit, the better the complexity
of the methods in this module (but also the greater the average waste of
unused bits in the last word).

See the section on COMPLEXITY in the Set::IntegerFast(3) man page for an
overview of the complexity of each method!

Note that the C library in this package ("lib_set.c") is designed in such
a way that it may be used independently from Perl and this Perl extension
module. (!)

For this, you can use the file "lib_set.o" exactly as it is produced when
building this module! It contains no references to Perl, and it doesn't need
any Perl header files in order to compile. (It only needs "lib_defs.h" and
some system header files)

Note however that this C library does not perform any bounds checking
whatsoever! (This is left to your application!)

(See the corresponding explanation in the file "lib_set.c" for more details
and the file "IntegerFast.xs" for an example of how this can be done!)

In this module, all bounds and type checking (which should be absolutely
fool-proof, by the way!) is done in the XS subroutines.

For more details on the modules in this package, please refer to their
respective man pages!


Credits:
--------

Many thanks to Ralf S. Engelschall <rse@engelschall.com> for suggesting the
four new methods implemented in version 3.0 of the "Set::IntegerFast" (and
also in the "Set::IntegerRange") module! (= distribution version 3.2)


Where to find:
--------------

At the usual ftp sites for Perl (CPAN = "Comprehensive Perl Archive Network"):

The file

        Set-IntegerFast-3.2.tar.gz

can be found in directory

    .../CPAN/authors/id/STBEY/  

or

    .../CPAN/modules/by-category/06_Data_Type_Utilities/Set/

or

    .../CPAN/modules/by-module/Set/

(See "The Perl 5 Module List" by Tim Bunce and Andreas Koenig
in news:comp.lang.perl.modules for a list of CPAN ftp servers)


Final note:
-----------

If you need any assistance or have any comments, problems, suggestions,
findings, complaints, questions, insights, compliments or donations to give ;-)
then please don't hesitate to send me a mail:

sb@sdm.de (Steffen Beyer)

In fact I'd be glad if you could drop me an e-mail when you are using this
package, so I can see how much interest exists in it and how much time is
reasonable to spend on its further development.

Therefore, I would also be glad to know what you liked and what you disliked
about this package!

And I would also be very interested to know what your application is in
which you found this package to be useful, just to get an idea what can
all be done with it and in which direction it should be developed further.

Many thanks in advance!!

With kind regards,
--
    |s  |d &|m  |    Steffen Beyer <sb@sdm.de> (+49 89) 63812-244 fax -150
    |   |   |   |    software design & management GmbH & Co. KG
    |   |   |   |    Thomas-Dehler-Str. 27, 81737 Munich, Germany.




------------------------------

Date: 8 Feb 1997 13:37:54 GMT
From: Hiroo HAYASHI <hayashi@pdcd.ilab.toshiba.co.jp>
Subject: ANNOUNCE: Term::ReadLine::Gnu-0.06 uploaded to CPAN
Message-Id: <5dhvji$s6v$1@nadine.teleport.com>

I put my GNU Readline Library wrapper module on CPAN.

    <URL:http://www.perl.com/CPAN/authors/Hiroo_HAYASHI/Term-ReadLine-Gnu-0.06.tar.gz>

-------------
Hiroo Hayashi	Parallel & Distributed Computer Dept.
		Information & Communication Systems Laboratory
		TOSHIBA Corporation


Here is READ file.
========================================================================
Term::ReadLine::Gnu --- GNU Readline Library Wrapper Module

	Copyright (c) 1996,1997 Hiroo Hayashi.  All rights reserved.

	This program is free software; you can redistribute it and/or
	modify it under the same terms as Perl itself.

Description:

	This is an implementation of the interface to the GNU Readline
	Library.  This module gives you input line editing facility,
	input history management facility, word completion facility,
	etc.  It uses the real GNU Readline Library.  And this module
	has the interface with the almost all variables and functions
	which are documented in the GNU Readline/History Library.  So
	you can program your custom editing function, your custom
	completion function, and so on with Perl.  This may be useful
	for prototyping before programming with C.

	Ilya Zakharevich distributes his implementation, which bases
	on Jeffrey Friedl's readline.pl.  His module works very well,
	and is easy to install because it is written by only Perl.  I
	am trying to make my module compatible with his.  He gives
	useful advises for me.

	Unfortunately readline.pl simulates old GNU Readline library.
	For example, it is not 8 bit clean and it warns to the
	variables in ~/.inputrc which it does not know yet.  We
	Japanese usually use 8 bit characters, so this is bad feature
	for me.  And I had interest with C interface facility and
	dynamic loading facility of Perl, so I thought it was a good
	chance for me to study them.  I made this module instead of
	fixing his module.

Prerequisites:
	You must have GNU Readline Library Version 2.1 which is
	included in the GNU Bash version 2.0 distribution.  See
	INSTALL.

How to build/install:
	See INSTALL.

Bugs:
	The GNU Readline Library is very stable.  But this is my first
	XS programming, my first module programming and, my first
	object oriented programming, and...  There must be many bugs
	in both programs and documents (especially in English
	grammar).  Comments and bug reports are very welcome.

Author:
	Hiroo Hayashi <hayashi@pdcd.ilab.toshiba.co.jp>




------------------------------

Date: Sat, 08 Feb 1997 13:08:54 GMT
From: rhoerbe@netpromote.co.at (Rainer Hoerbe)
Subject: Any new development on Perl for NT; bug in stat
Message-Id: <32e5d228.5663563@news.netway.at>

I am working with 5.001l on Windows NT; there are numerous
restrictions and bugs. Is somebody out there to improved this port?

Current Problem:

open (FH, $myfile) || die "cannot open $myfile: $!\n";
local($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)
= stat(FH);

print "$size, $blocks\n";

This will print 0, 0 althought the file is of non-zero size. 

To circumvent this I have to loop thru the file and count the number
of bytes using getc

 .. no, just kidding, but calling DIR on NT and extracting the result
is not much better, either:

unless ($size) {
   open DIR, "dir $longfile /-c |" || die "unexpected error opening
pipe from dir: $!\n";
   while (<DIR>) { $size = $1 if / (\d+) ${longfile}$/i }
   close DIR;   
}


Rainer
rhoerbe@netpromote.co.at


------------------------------

Date: Sat, 08 Feb 1997 14:35:12 GMT
From: pduff@airmail.net (Patrick Duff)
Subject: Re: Any new development on Perl for NT; bug in stat
Message-Id: <33058ecd.209442742@news.airmail.net>

On Sat, 08 Feb 1997 13:08:54 GMT, rhoerbe@netpromote.co.at (Rainer
Hoerbe) wrote:

>I am working with 5.001l on Windows NT; there are numerous
>restrictions and bugs. Is somebody out there to improved this port?
>
>Current Problem:
>
>open (FH, $myfile) || die "cannot open $myfile: $!\n";
>local($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)
>= stat(FH);
>
>print "$size, $blocks\n";
>
>This will print 0, 0 althought the file is of non-zero size. 
>
>To circumvent this I have to loop thru the file and count the number
>of bytes using getc
>
>.. no, just kidding, but calling DIR on NT and extracting the result
>is not much better, either:
>
>unless ($size) {
>   open DIR, "dir $longfile /-c |" || die "unexpected error opening
>pipe from dir: $!\n";
>   while (<DIR>) { $size = $1 if / (\d+) ${longfile}$/i }
>   close DIR;   
>}
>
>
>Rainer
>rhoerbe@netpromote.co.at

Several of my programs which failed in mysterious ways under WinNT
5.001 build 110 started working as soon as I switched to 5.003 build
302, and nothing quit working.  

Also, have you tried something like " print ( -s  $Filename  );  "

-- 
regards, Patrick Duff (pduff@airmail.net)




------------------------------

Date: Sat, 8 Feb 1997 14:14:39 +0000
From: Mr Matty <hayes@coventry.ac.uk>
Subject: CGI SCRIPTS!!
Message-Id: <Pine.OSF.3.91.970208141217.25408A-100000@leofric>

I have acces to a web server, and limited access to a CGI-bin dir
however, i cant save them as group www ( which is so that they can be 
executed) Is there any way i can get my perl scripts to execute rather
then just displaying them, without putting them into the cgi-bin directory.
I have a copy of X-netscape, so i can open them locally, but thats all.
Anyone got any ideas??

Matty.





------------------------------

Date: 8 Feb 1997 19:36:08 GMT
From: blm@chinook.halcyon.com (Brian L. Matthews)
Subject: Re: CGI SCRIPTS!!
Message-Id: <5dikj8$ko0$1@brokaw.wa.com>

In article <Pine.OSF.3.91.970208141217.25408A-100000@leofric>,
Mr Matty  <hayes@coventry.ac.uk> wrote:
|Anyone got any ideas??

Yes. Talk to your sysadmin and read the documentation on your
server, because it's a server and server configuration issue,
not a perl issue.

Brian
--
Brian L. Matthews				Illustration Works, Inc.
	For top quality, stock commercial illustration, visit:
		  http://www.halcyon.com/artstock


------------------------------

Date: Sat, 8 Feb 1997 10:37:19 -0500
From: "Jeremy D. Zawodny" <jzawodn@cs.bgsu.edu>
Subject: Re: CGI SCRIPTS!!
Message-Id: <Pine.SUN.3.95.970208103631.24337C-100000@hydra.cs.bgsu.edu>

On Sat, 8 Feb 1997, Mr Matty wrote:

> I have acces to a web server, and limited access to a CGI-bin dir
> however, i cant save them as group www ( which is so that they can be 
> executed) Is there any way i can get my perl scripts to execute rather
> then just displaying them, without putting them into the cgi-bin directory.
> I have a copy of X-netscape, so i can open them locally, but thats all.

Yes.

And if you ask in one of the comp.infosystems.www.* newsgroups, you'll
probably find the solution (not just the answer).

Jeremy

------------------------------------------------------------------------------
<A HREF="http://www.bgsu.edu/~jzawodn">Jeremy Zawodny, jzawodn@cs.bgsu.edu</A>
Computer Science Undergraduate  *  Computer Consultant  *  Web Worker for Hire
        "Argue your limitations, and they're yours." -- Richard Bach



------------------------------

Date: 8 Feb 1997 12:36:59 -0600
From: bruck@MCS.COM (Anthony Bruck)
Subject: diff 5.001 5.003
Message-Id: <5dih4b$l5c$1@Jupiter.Mcs.Net>

Can anyone point me to documentation which details the differences
between Perl version 5.001 and version 5.003?  I've written scripts
that run under 5.001 but generate errors with 5.003.

-- 

who am i
bruck            ttyp2   Feb  8 12:35


------------------------------

Date: 08 Feb 1997 12:45:54 -0500
From: Jim Anderson <jander@jander.com>
Subject: Re: fcntl() in v4
Message-Id: <3ev7nqct.fsf@jander.com>

ced@bcstec.ca.boeing.com (Charles DeRykus) writes:

> 
> In article <sasrmd.855270037@sas.com>, Bob Dixon <sasrmd@unx.sas.com> wrote:
>  >   I'm somehow not getting all the pieces right.  In C, I do this:

[...]

>  > Any suggestions?  I even tried reading the book, i.e. p. 144 of the
>  > Camel book, and I'm still not getting the idea.
>  > 
> 
> You'll need to pass a flock structure:
> 
> 
>   use Fcntl;
> 
>   $lock = pack("s s l l s",&F_WRLCK,0,0,0,0);
>   fcntl(OUTFILE, &F_SETLKW, $lock) || die "fcntl failed: $!";
>   ....

Note that the struct required by flock varies from OS to OS, so the
above pack statement may need to be modified for your environment.

-- 
Jim Anderson			jander@jander.com
PGP Public Key Fingerprint:	0A 1C BB 0A 65 E4 0F CD
				4C 40 B1 0A 9A 32 68 44


------------------------------

Date: Sat, 8 Feb 1997 14:21:13 GMT
From: aml@world.std.com (Andrew M. Langmead)
Subject: Re: File handle referring to a string...
Message-Id: <E5AFvD.AxB@world.std.com>

djw@ccwf.cc.utexas.edu (Dan Walters) writes:

>I'm wondering if anyone knows of a way to make a filehandle that would
>refer to a string?  I'd like to be able select() a filehandle that
>refers to a string and have all my print statements actually just
>append to that string.  I looked on CPAN and didn't see a module that
>seems to do this, so thought I would ask.

Perl 5.004 should make this easier with tied filehandles, without
using devloper releases (and without waiting), the best I can think of
is to fork off a child process to send the string to you:

#!/usr/bin/perl -w

$string = 'hello world';
$kid = open COLLECT, "|-" or do {collect_and_print();exit 0};

select COLLECT;
for ($i = 0; $i < 10; $i++) { # why make a huge list with the .. operator
    print "printing string $i\n";
}
close COLLECT;

sub collect_and_print {
    my @output;
    while(<STDIN>) {
	push @output, $_;
    }
    print @output;
}

>What I'm wanting it for is a rather large FCGI script.  I use an
>eval/die error handling mechanism, but when I do a die it will have
>already printed some output, so I always wind up with a partial page
>followed by Content-type:, etc., which of course looks really odd.
>I'd like to actually just put all my output in a string and then print
>it at the end if there are no errors.

With this code, if you have an error, just terminate the child process
with a signal:

kill 1, $kid;

>Currently, I can only figure I either have to use temporary files (I'd
>really rather not) or I have to actually append to a string instead of
>using print, which just doesn't feel natural...  (So I'm picky!)

To be honest with you, I don't see much harm in just saying:

for ($i = 0; $i < 10; $i++) { # why make a huge list with the .. operator
    print_when_done "printing string $i\n";
}
all_done();

sub print_when_done {
  push @output, @_;
}

sub all_done {
  print @output;
}

All sorts of unnatural things can be made to look comfortable by
hiding them.

>So, is this possible?  Just another thing I'd have no problem doing in
>C, I suppose... 

Oh, and exactly how to you go about making a growable array of strings
look like filehandles in C?
-- 
Andrew Langmead


------------------------------

Date: 08 Feb 1997 12:56:37 -0500
From: Jim Anderson <jander@jander.com>
Subject: Re: format print produces blank pages
Message-Id: <20arnpuy.fsf@jander.com>

Charlie Wu <charliew@atlml1.attmail.com> writes:

> 
> hi dear perl gurus:
> 
> i am preparing a report generated by database isql queries ... and i
> use the "format tool" provided by perl, it prints the header on each
> page, and formats the data correctly... however, there's a ^L at the
> end of every page - causing the printer to spit out a blank page every
> other page ... very annoying - of course i can write this to a file
> and then filter out the ^Ls but can someone enlighten me how that
> ^L got in there - a perl bug??? or is the printer stupid...

format is designed to add linefeeds for you. If you don't want 'em,
then either

1. $^L = '';

 or

2. $= = 999999;	# or some equally hig number

 or

3. $- = 999999; # where 999999 is some number greater than 0

-- 
Jim Anderson			jander@jander.com
PGP Public Key Fingerprint:	0A 1C BB 0A 65 E4 0F CD
				4C 40 B1 0A 9A 32 68 44


------------------------------

Date: Sat, 8 Feb 1997 19:24:13 GMT
From: jgd@cix.compulink.co.uk ("John Dallman")
Subject: Re: IS Perl on NT Thread Safe ?
Message-Id: <E5AtwD.AL3@cix.compulink.co.uk>

"nick" <nickl@telebusiness.co.nz> asked:

> Is Perl on NT thread safe ?

In the absence of any way to create more than one thread inside perl.exe, 
thread safety is surely not an issue?

If a thread from another process runs perl.exe with a script, then if the 
script tries to do anything that tramples on work done by other threads 
of the same process, there won't be any thread safety precautions, so 
that won't be safe, but that;s not perl's fault.

John Dallman, jgd@cix.co.uk. A micro-FAQ on things I keep getting asked: 
#!perl is at ftp://.../CPAN/ports/msdos/tips-tricks/hbp_403.zip, BigPerl 
for MS-DOS can be found in CPAN via http://www.perl.com, Perl for NT/Win 
95 can be found at http://www.activeware.com, with an excellent FAQ file 
at http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.html and 
no, I don't have the slightest idea what's wrong with your CGI script.


------------------------------

Date: 8 Feb 1997 19:34:27 GMT
From: blm@chinook.halcyon.com (Brian L. Matthews)
Subject: Re: Is this a bug in perl???  (Missing newlines)
Message-Id: <5dikg3$k01$1@brokaw.wa.com>

In article <5dh6s4$dnl@news.cerf.net>,
 ....What Is?.... <whatis@nic.cerf.net> wrote:
|Why are those two newlines being ignored when I use "print" but they
|show up just fine when I use "print STDOUT"?

Read perlsyn and run your script with perl -w.

Brian
--
Brian L. Matthews				Illustration Works, Inc.
	For top quality, stock commercial illustration, visit:
		  http://www.halcyon.com/artstock


------------------------------

Date: Sat, 08 Feb 1997 12:53:03 GMT
From: tforbes@ix.netcom.com (Thomas J. Forbes)
Subject: Re: Matt's Script: SSI Random Banner Generator
Message-Id: <32fc763e.180354665@nntp.ix.netcom.com>

Thank you for taking the time to respond to my question. The Perl
script is included in the original message (top of this thread). I
believe the problem is in the Perl script, that is why I posted to
this group. 

I will also list this to the group you suggested - thanks very much.

Tom Forbes


On 8 Feb 1997 06:41:40 GMT, shishir@ruby.ora.com (Shishir Gundavaram)
wrote:

>Thomas J. Forbes (tforbes@ix.netcom.com) wrote:
>: I am trying to get Matt's Random Banner Generator with Server Side
>: Includes running. This is my first attempt at SSI, I get the message:
>: [an error occurred while processing this directive]. The line in my
>: shtml file reads <!--#exec cgi="ssi_rand_image.cgi"--> and is located
>: at http://www.medstore.com/ads2/forsalead.shtml.
>: 
>: The banner images are in ads2/banners and the cgi file is in the ads2
>: directory. Here is the script, with the modified variables:
>
>First, this is not a CGI newsgroup. Please post to: c.i.w.authoring.cgi.
>
>OK, having said that, here are some suggestions. You say that the CGI
>program is in the ads2 directory. Is the Web server configured to
>recognize this as a CGI directory or configured to recognize
>the ".cgi" extension as a CGI application?
>
>_IF_ you do have your server configured properly, then try using
>a virtual path to the CGI program, instead of a relative one. In other
>words, don't use:
>
>    <!--#exec cgi="ssi_rand_image.cgi"--> 
>
>but, instead, use:
>
>    <!--#exec cgi="/ads2/ssi_rand_image.cgi"--> 
>
>--Shishir



------------------------------

Date: 08 Feb 1997 07:02:51 -0700
From: Randal Schwartz <merlyn@stonehenge.com>
To: pduff@airmail.net (Patrick Duff), sharon@sems.com
Subject: Re: negative zero????
Message-Id: <8cybcz75v8.fsf@gadget.cscaper.com>

>>>>> "Patrick" == Patrick Duff <pduff@airmail.net> writes:

Patrick> Try saying each of the following sentences out loud:

Patrick>      It's hard to recognize speech.

Patrick>      It's hard to wreck a nice beach.

Patrick>      It's hard to wreck a nice beech.

	It's R2! Reckon ice peach!

I once wrote a small poem like that.  Read it out loud:

	Marietta.
	Little M. Little M. Little M.
	Marietta.
	Little M.
	If Lisa's why? 'tis no. 

ObPerl: I never ported it to Perl.  Sorry Sharon. :-)

print "Just another Perl hacker," # but not what the media calls "hacker!" :-)
## legal fund: $20,495.69 collected, $182,159.85 spent; just 570 more days
## before I go to *prison* for 90 days; email fund@stonehenge.com for details

-- 
Name: Randal L. Schwartz / Stonehenge Consulting Services (503)777-0095
Keywords: Perl training, UNIX[tm] consulting, video production, skiing, flying
Email: <merlyn@stonehenge.com> Snail: (Call) PGP-Key: (finger merlyn@ora.com)
Web: <A HREF="http://www.stonehenge.com/merlyn/">My Home Page!</A>
Quote: "I'm telling you, if I could have five lines in my .sig, I would!" -- me


------------------------------

Date: 8 Feb 97 15:49:42 GMT
From: tony@niweb.com (Tony Bowden)
Subject: Re: Parsing From: line in email
Message-Id: <32fca096.0@news.tibus.net>

A long time ago (so long that deja-news won't let me follow up)
 olaf@bookmark.de (Olaf Walkowiak) wrote:

>>I am interested in a regular expression that can be used to parse
>>an email address of the form username\@some.domain.name or
>>username\@domain.name out of the From: header in an email message.

> I didn't try, but 
> /\b\w+\@\w+\b/
> may work

It doesn't quite work - as it doesn't allow for there being .'s in the 
email address ..

This it matches my email addresses to bowden@qub or tony@tmtm rather than
t.bowden@qub.ac.uk or tony@tmtm.com

Now, I can get it to match .'s in the second half (after the @) by:
  /\b\w+\@[\w\.]\b/
but this won't work before the @

Anyone a better solution.

(Actually, in my case, I'd like to split the From: line into a $email and
   $name so that I can check on $email first to see if they're known to
   me (in my mail aliases file) and if not to give the name field they've
   supplied (if any - if not just give the email address). I'm not that 
   worried if this doesn't work for every case - just for the standard formats
   but it's been giving me hassle all day - anyone any ideas?)

NB I'd like this to work under Perl 4 ideally cos that's all I have on my
   university account. 

Tony
--
-----------------------------------------------------------------------------
 Tony Bowden  |     tony@tmtm.com / t.bowden@qub.ac.uk / http://www.tmtm.com/
 Belfast, NI  |       I've got clouds in the upstairs but I still remember me
-----------------------------------------------------------------------------





------------------------------

Date: Sat, 08 Feb 1997 17:05:22 +0000
From: Nigel Byrnes <njb@cs.bham.ac.uk>
Subject: perl execution in xemacs?
Message-Id: <32FCB252.23E4@cs.bham.ac.uk>

hi

I think the subject says it all really. I want to be able to execute
perl programs from my xemacs window. If poss., how do i do it?

-- 
Nigel 

"...just like havin' a cup of tea in the morning!"
Noel Gallagher, 1997


------------------------------

Date: 08 Feb 1997 05:48:17 -0800
From: Russ Allbery <rra@cs.stanford.edu>
Subject: Re: Perl vs Korn Shell
Message-Id: <qum20ar2yu6.fsf@cyclone.stanford.edu>

Abigail <abigail@ny.fnx.com> writes:

> I agree perl is "better" than sed or awk. Yet I still use awk for
> two reasons:

> - Sometimes awk is less typing (or less thinking) than perl.
>   I just can't beat "| awk '{print $2}'" in perl.

"| perl -ane 'print $F[1]'" is pretty close.

> - Political reasons. I write little tools that can be used by our people
>   at clients sites. Usually, those clients don't have perl
>   installed. And I can't convince high enough people here that it is
>   worth while to convince our customers to install (or have us) install
>   perl. (And yes, this has to do with the fact awk/sh comes with a
>   SunOS/Solaris install and perl doesn't.)

Much better reason.  :)

-- 
Russ Allbery (rra@cs.stanford.edu)      <URL:http://www.eyrie.org/~eagle/>


------------------------------

Date: 8 Feb 1997 13:36:24 GMT
From: boutell@boutell.com (Thomas Boutell)
Subject: PerlMUD 2.1 Released (Better Code, WWW Interface)
Message-Id: <5dhvgo$s63$1@nadine.teleport.com>

Hello, 

Version 2.1 of PerlMUD, a TinyMUD-style MUD system written
entirely in Perl 5, is now available.

Version 2.1 has a WWW interface, in addition to traditional
ways of contacting the MUD. You can try the demo system
at this URL: 

http://boutell.com:4197/

Or, if you prefer, by telnetting to port 4097 on boutell.com.

Version 2.1 also adds support for gagging and ungagging
other users for peace and quiet, plus object-oriented
code and an object-style database, making official PerlMUD
releases more compatible with your own hacks.

** Just for you Perl hackers **: I've rewritten the code to
represent all of the objects in the MUD as a single
array of hashes. This is much more object-oriented than
the old approach, with dozens of similarly named arrays.
Adding your own commands to PerlMUD should be much more
intuitive and pleasant now.

For more information, see:

http://www.boutell.com/perlmud/

The PerlMUD server is inexpensive shareware ($25). If you
decide to continue using it, you'll need to register
after 30 days. Registered users get regular notification
of updates and full support via email and phone.

-T

--
Pick a newsgroup and rescue it: http://www.boutell.com/boutell/usenet.html




------------------------------

Date: Sat, 08 Feb 1997 14:13:13 GMT
From: tforbes@ix.netcom.com (Thomas J. Forbes)
Subject: Random Banner Script Problem
Message-Id: <32fc881f.184931702@nntp.ix.netcom.com>

I'm Stuck. I am trying to get a Matt's script running - his Random
Banner Generator with SSI. The script should yield an image and an
associated link - however - when I run the script I get the output
below returned:

Content-type: text/html

<img src="http://www.medstore.com/ads2/banners/" border=2
align=middle> 

The "base directory" is being returned, but the images are not.

Can anyone see a problem with the first part of the script?

Thanks for looking.

Tom Forbes






#!/usr/bin/perl
##############################################################################
# SSI Random Image Displayer    Version 1.2
# 
# Copyright 1996 Matt Wright    mattw@worldwidemart.com
#
# Created 7/1/95                Last Modified 11/4/95
#
# Scripts Archive at:           http://www.worldwidemart.com/scripts/
#
##############################################################################
# COPYRIGHT NOTICE
#
# Copyright 1996 Matthew M. Wright  All Rights Reserved.
#
#
#
# SSI Random Image may be used and modified free of charge by anyone
so      #
# long as this copyright notice and the comments above remain intact.
By    #
# using this this code you agree to indemnify Matthew M. Wright from
any     #
# liability that might arise from it's use.
#  
#
#
# Selling the code for this program without prior written consent is
#
# expressly forbidden.  In other words, please ask first before you
try and  #
# make money off of my program.
#
#
#
# Obtain permission before redistributing this software over the
Internet or #
# in any other medium.  In all cases copyright and header must remain
intact.#
##############################################################################
# Define Variables

$basedir = "http://www.medstore.com/ads2/banners/";

@images = ("ama.gif","cai.gif","gms.gif","labquip.gif","meddepot.gif",
   "mee.gif","mis.gif","mmr.gif","open.gif","tfsrehab.gif");

@urls = ("http://www.medstore.com/assetmgmt/",
         "http://www.medstore.com/cai/",
         "http://www.medstore.com/gms/",
         "http://www.medstore.com/labquip/",
         "http://www.medstore.com/meddepot/",
         "http://www.medstore.com/mee/",
         "http://www.medstore.com/mis/",
         "http://www.medstore.com/mmr/",
         "http://www.medstore.com/join.htm",
         "http://www.medstore.com/tfsrehab/");

@alt = ("Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!",
        "Your MedStore or MedMart Web site includes your company
banner HERE!");

##############################################################################
# Options
$uselog = "0";            # 1 = YES; 0 = NO
   $logfile = "/path/to/log/file";
   $date = `/usr/bin/date`; chop($date);

$link_image = "1";        # 1 = YES; 0 = NO
$align = "middle";
$border = "2";

# Done
##############################################################################

srand(time ^ $$);
$num = rand(@images); # Pick a Random Number

# Print Out Header With Random Filename and Base Directory
print "Content-type: text/html\n\n";
if ($link_image eq '1' && $urls[$num] ne "") {
   print "<a href=\"$urls[$num]\">";
}

print "<img src=\"$basedir$images[$num]\"";
if ($border ne "") {
   print " border=$border";
}
if ($align ne "") {
   print " align=$align";
}
if ($alt[$num] ne "") {
   print " alt=\"$alt[$num]\"";
}
print ">";

if ($link_image eq '1' && $urls[$num] ne "") {
   print "</a>";
}

print "\n";

# If You want a log, we add to it here.
if ($uselog eq '1') {
   open(LOG, ">>$logfile");
   print LOG "$images[$num] - $date - $ENV{'REMOTE_HOST'}\n";
   close(LOG);
}




------------------------------

Date: Sat, 8 Feb 1997 14:26:27 +0000
From: Charles Norton <Charles@hnnet.demon.co.uk>
Subject: Searching own web site
Message-Id: <CNthvAAT0I$yEwJH@hnnet.demon.co.uk>

Hello

I am new to perl but am generally familiar with programming in languages
including Basic, C and assembler.

I wish to add a search facility to my web site that allows people to
search for text in pages in my web site and return a list of those pages
and a hypertext link to them.

I am a little at a loss to how to do this in Perl. I am running Windows
95.

Also, is there a compiler for Win 95 that allows me to check out my perl
code locally and debug it before uploading it to my Web page service
provider?

Thanks

Charles Norton


------------------------------

Date: 8 Feb 1997 19:05:15 GMT
From: chsu@from.net
Subject: Send 20 FREE Pages of Fax to any Fax machines in the World!
Message-Id: <5diipb$nhu@netnews.hinet.net>



Send Fax through the Internet. Low domestic and international rates.   
20 FREE pages of Fax! Send to any Fax machines in the world! No obligation.

Visit the site at:

    http://www.edfax.com/faxsav.htm



Chris Sundres
chsu@from.net








------------------------------

Date: Sat, 08 Feb 1997 13:24:35 -0500
From: pudge@pobox.com (Chris Nandor)
Subject: Re: Sending results to two frames at once
Message-Id: <pudge-ya02408000R0802971324350001@news.idt.net>

In article <5dgku1$8ne@news.lth.se>, lewau@belsebub.ics.lu.se (Roger Lewau)
wrote:

# In article <32FB2E37.5E38@bbn.hp.com>, Christoph Marquardt
<Christoph_Marquardt@bbn.hp.com> wrote:
# >you might want to insert a sub frame-layout-document into your document 
# >to make this work
# >
# >(e.g. have one file with 3 frames where the middle frame might have the 
# >name "middle_frame" and then load a 2 frame document to target 
# >"middle_frame", then you just need to replace this "middle_frame" frame 
# >with another 2 frame document by targetin the according output)
# 
# >does that help?
# 
# No ;) The problem _was_ to get the result of one script into two frames at 
# once. I have an orderform in one frame and a shopping bag in another. The 
# shoppingform is editable and when sending the edited form to the server the 
# result should be a new editable form _and_ an update of the shopping
bagwindow 
# as well. The problem is now fixed.

THIS IS NOT THE CGI OR WWW NEWSGROUP.  GO AWAY.

#================================================================
My grandfather invented Cliff's Notes. It all started back in
1912...  Well, to make a long story short ...

   --Steven Wright

Chris Nandor                                      pudge@pobox.com
PGP Key 1024/B76E72AD                           http://pudge.net/
Keyfingerprint = 08 24 09 0B CE 73 CA 10  1F F7 7F 13 81 80 B6 B6


------------------------------

Date: Sat, 08 Feb 1997 17:02:41 +0000
From: kevin <kevin@aguecheek.demon.co.uk>
Subject: Using sockets to connect to daemon - code wanted.
Message-Id: <32FCB1B1.F96@aguecheek.demon.co.uk>

Hello my lovely friends

I wonder if anyone knows where I could find some sample code which does
something along the lines of the following, very simple task:

I am running a 'query-demon' on our local machine. It communicates with
a remote machine and can get me lots of useful information. So, I need
to write a 'client' which will run on the same local host as the demon
and communicate with it over a TCP/IP socket.
The client has to send and receive information over the socket - it
sends a request for information and receives a answer.

I am having a little difficulty... rather, I am completely clueless
about how to write a perl script for bi-directional communication over a
socket. I realise this is elementary for most of you, but does anyone
have/know where I can find some sample code (the socket clients in CPAN
are read-only)...

Thank you very much
Kevin Hinde.


------------------------------

Date: Sat, 8 Feb 1997 10:47:57 -0500
From: "Jeremy D. Zawodny" <jzawodn@cs.bgsu.edu>
Subject: Re: Wanted NT Perl Script
Message-Id: <Pine.SUN.3.95.970208104715.24337E-100000@hydra.cs.bgsu.edu>

On 6 Feb 1997, Brian Mc Daniel wrote:

> I am looking for a Perl script that can check the creation dates on 
> existing files in a directory to determine if they are older than 1 
> week and if so to go ahead and remove them.

Uhm.  This would seem to be a 10-line script at the most.  Which part
caused your trouble?

Jeremy

------------------------------------------------------------------------------
<A HREF="http://www.bgsu.edu/~jzawodn">Jeremy Zawodny, jzawodn@cs.bgsu.edu</A>
Computer Science Undergraduate  *  Computer Consultant  *  Web Worker for Hire
        "Argue your limitations, and they're yours." -- Richard Bach



------------------------------

Date: 8 Feb 1997 16:12:14 GMT
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: why can't "system" return a long?
Message-Id: <5di8ku$rmt$1@csnews.cs.colorado.edu>

 [courtesy cc of this posting sent to cited author via email]

In comp.lang.perl.misc, 
    Dave@Thomases.com writes:
:Anyway, to get something else back to your Perl script you could always
:write it to STDOUT and have Perl pick that up
:
:     $ret_long = `system myprog`

system is not a shell command.

--tom
-- 
Tom Christiansen      		tchrist@perl.com

    "Nowadays people just don't distinguish between prudence and paranoia."
    	--Larry Wall


------------------------------

Date: 8 Feb 1997 16:47:48 GMT
From: dave@fast.thomases.com (Dave Thomas)
Subject: Re: why can't "system" return a long?
Message-Id: <slrn5fpbd8.6j4.dave@fast.thomases.com>

On 8 Feb 1997 16:12:14 GMT, Tom Christiansen <tchrist@mox.perl.com> wrote:
>  [courtesy cc of this posting sent to cited author via email]
> 
> In comp.lang.perl.misc, 
>     Dave@Thomases.com writes:
> :Anyway, to get something else back to your Perl script you could always
> :write it to STDOUT and have Perl pick that up
> :
> :     $ret_long = `system myprog`
> 
> system is not a shell command.

Duh...

Still - the concept still applies.


-- 

 _________________________________________________________________________
| Dave Thomas - Dave@Thomases.com - Unix and systems consultancy - Dallas |
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


------------------------------

Date: 8 Jan 97 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 8 Jan 97)
Message-Id: <null>


Administrivia:

The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc.  For subscription or unsubscription requests, send
the single line:

	subscribe perl-users
or:
	unsubscribe perl-users

to almanac@ruby.oce.orst.edu.  

To submit articles to comp.lang.perl.misc (and this Digest), send your
article to perl-users@ruby.oce.orst.edu.

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.

The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.

For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V7 Issue 916
*************************************

home help back first fref pref prev next nref lref last post