[9762] in Perl-Users-Digest
Perl-Users Digest, Issue: 3354 Volume: 8
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Aug 5 09:06:18 1998
Date: Wed, 5 Aug 98 06:00:50 -0700
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Wed, 5 Aug 1998 Volume: 8 Number: 3354
Today's topics:
Re: Cheapest Win32 5.005 build <perlguy@inlink.com>
Re: comp.lang.perl.announce redux <quednauf@nortel.co.uk>
Re: comp.lang.perl.announce redux <jimbo@soundimages.co.uk>
Re: comp.lang.perl.announce redux <jimbo@soundimages.co.uk>
Re: comp.lang.perl.announce redux (Bart Lateur)
Re: comp.lang.perl.announce redux (Bart Lateur)
Re: comp.lang.perl.announce redux (Bart Lateur)
Re: comp.lang.perl.announce redux (Bart Lateur)
Re: comp.lang.perl.announce redux (Bart Lateur)
Re: diff-like utility in Perl? (Michael J Gebis)
Re: File already opened by another process? <jimbo@soundimages.co.uk>
Re: File Upload with Perl <perlguy@inlink.com>
Re: gz vs Z on the CPAN (Georg Bauer)
Re: Has anyone used the POP3 module ? <alan@find-it.furryferret.uk.com>
Re: help me cgi <quednauf@nortel.co.uk>
Re: hiding user input (Michael J Gebis)
Re: mkdir (Honza Pazdziora)
Perl Help (EXCHANGE:CAR:9L42)
perlfaq - frequently asked questions about Perl (part 0 <perlfaq-suggestions@perl.com>
perlfaq1 - General Questions About Perl (part 1 of 9) <perlfaq-suggestions@mox.perl.com>
Special: Digest Administrivia (Last modified: 12 Mar 98 (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Wed, 5 Aug 1998 12:14:51 GMT
From: Brent Michalski <perlguy@inlink.com>
Subject: Re: Cheapest Win32 5.005 build
Message-Id: <35C84CBB.BA281C6B@inlink.com>
My mistake... Sorry.
Brent
------------------------------
Date: Wed, 05 Aug 1998 13:07:37 +0100
From: "F.Quednau" <quednauf@nortel.co.uk>
Subject: Re: comp.lang.perl.announce redux
Message-Id: <35C84B09.795A39F3@nortel.co.uk>
Frank wrote:
>
> birgitt@my-dejanews.com writes:
>
> Zufaellig habe ich heute ein Perl Script erhalten, dass deutsche Texte
> ins Schwaebische uebersetzt! Obiger Text wird damit deutlich
> verstaendlicher:
>
> Wie dieses ischd: dr Moderador figd oi Link an dr Onderseide jedes
> Bfoschdens hinzu (hinzugfigd ibr en Berl-Endex, selbschdvrschddndlich) dr
> BabelFish AldaVischdas bassend hervorrufd, om a gewinschde Ibersedzong
> zu geba.
Zu Geil, um wahr zu sein :-))
--
____________________________________________________________
Frank Quednau
http://www.surrey.ac.uk/~me51fq
________________________________________________
------------------------------
Date: 05 Aug 1998 13:31:29 +0100
From: Jim Brewer <jimbo@soundimages.co.uk>
Subject: Re: comp.lang.perl.announce redux
Message-Id: <u90l3ip9a.fsf@jimbosntserver.soundimages.co.uk>
Tom Christiansen <tchrist@mox.perl.com> writes:
> In comp.lang.perl.misc,
> paddy.spencer@parallax.co.uk writes:
> :reject any post he can't get translated "as necessary". This also includes
> :postings in supremely bad English (eg in American ;-)
>
> Last straw, monkey boy. I'd be quite happy to go up against you in an
> English proficiency exam. Shall we? I am a native speaker of English,
> you know, and just because I don't have an obseqious Home Counties accent
> in no way alters this.
I knew that one day I'd get it sussed. TomC IS an anagram for God. All
that is Good, Pious and Perfect is to behold within TomC. Please allow
me to be trod upon by you. For the bottoms of your feet are all I am
worthy of. Best of luck with the Universe. Very big job. Hope your big
enough.
--
Jim Brewer
e-mailed courtesy copies are unappreciated, please refrain.
------------------------------
Date: 05 Aug 1998 13:41:16 +0100
From: Jim Brewer <jimbo@soundimages.co.uk>
Subject: Re: comp.lang.perl.announce redux
Message-Id: <u7m0niosz.fsf@jimbosntserver.soundimages.co.uk>
Tom Christiansen <tchrist@mox.perl.com> writes:
> In comp.lang.perl.misc,
> Jim Brewer <jimbo@soundimages.co.uk> writes:
> :I noticed that as well. I have also noticed very few Perl books
> :translated into English. I wonder why that is? No lack of demand
> :then.
>
> What, pray tell, are you referring to? Virtually all Perl books are
> written in English, although some find their way into translation
> to other tongues. Be very, very careful: Please don't say something
> hopelessly offensive and provincial. I've got a hot button quite close
> to you just waiting to be pressed.
I thought I was referring to the lack of Perl books originating in a
language other than English with a subsequent version being made
available to the English speaking Perl community (whatever community
that may be) in English. I only scan the shelves of my regular
bookshop. It's quite possible I missed that particular edition. Damn.
With regard to your button, I had noticed. You love your button being
pushed. Any reason, any excuse, any day. You cannot survive without
perpetual conflict. What would your ego do without it's daily puffing?
Who better to puff it than the owner.
--
Jim Brewer
e-mailed courtesy copies are unappreciated, please refrain.
------------------------------
Date: Wed, 05 Aug 1998 13:13:30 GMT
From: bart.mediamind@tornado.be (Bart Lateur)
Subject: Re: comp.lang.perl.announce redux
Message-Id: <35ca5283.16814245@news.tornado.be>
Harald Joerg wrote:
>German: "der Moderator f|gt ein Link am Ende jedes Artikels hinzu"
>English: "the moderator adds links at the end of each article
> in addition"
Funny that it translates "ein Link" into "links". That must be a bug.
:-)
Bart.
------------------------------
Date: Wed, 05 Aug 1998 13:13:31 GMT
From: bart.mediamind@tornado.be (Bart Lateur)
Subject: Re: comp.lang.perl.announce redux
Message-Id: <35cc54bb.17382554@news.tornado.be>
>Abigail wrote:
>>People, if you can't read French, German, Italian, or Polish, that's
>>your loss. Don't punish others by forcing them to translate due to
>>your own shortcomings.
Posts in native languages are usually intended for people that
understand it, e.g. an announcement for a Perl conference in a European
country. No need for a complete translation there.
However, IMO, it should be accompanied with an English note for the
moderator describing what it's about. The moderator should be able to
judge by that alone.
If it turns out that the poster lied in this note, he/she should be
banned from clpa forever. :-)
Mike Stok wrote:
>That seems a little crass, English is a reasonable language to use as many
>people have it as a second or first language.
Not just that. You MUST understand basic English in order to be able to
program a computer. All language keywords are in English. Most computer
books are in English. Well, the interesting ones are.
Now, if somebody else than the programmer wants to post in clpa, he
should ask the programmer to write the accompaning note. ;-)
Bart.
------------------------------
Date: Wed, 05 Aug 1998 13:13:34 GMT
From: bart.mediamind@tornado.be (Bart Lateur)
Subject: Re: comp.lang.perl.announce redux
Message-Id: <35cd552c.17495315@news.tornado.be>
Jim Brewer wrote:
>I'm so glad this a Perl group. That means we don't actually have to
>talk about Perl at all. Perl is just an entry point for what ever
>takes ones fancy to dicuss.
Oh yeah. As long as it isn't about programming. Because THEN you'd get a
reply: "this isn't a Perl question.". ;-)
Bart.
------------------------------
Date: Wed, 05 Aug 1998 13:13:35 GMT
From: bart.mediamind@tornado.be (Bart Lateur)
Subject: Re: comp.lang.perl.announce redux
Message-Id: <35d05714.17983378@news.tornado.be>
lvirden@cas.org wrote:
>Yep - say I don't have a programming language other than perl. I want to
>come to some perl group to find out what kinds of applications have been
>written in perl.
I don't think a newsgroup is the appropriate forum for that. A newsgroup
is basically intended for NEW announcements. Interesting to people
because, well, it's current with the times. Except for Dejanews and
similar services, (and maybe CPAN in this case), the posts get thrown
off servers all over the world after just a few days.
Overviews like what you are referring to are good material for a
dedicated web page.
Bart.
------------------------------
Date: Wed, 05 Aug 1998 13:17:00 GMT
From: bart.mediamind@tornado.be (Bart Lateur)
Subject: Re: comp.lang.perl.announce redux
Message-Id: <35c85b44.285005@news.tornado.be>
Tom Christiansen wrote:
>Randal Schwartz is not a non-profit organization. Everyone knows how
>important his business is to him. Therefore, he should resign from the
>moderatorship, since this is merely a tool for him to subtly advertise
>is for-profit organization by keeping in the public eye as moderator.
That goes for you as well, I assume?
Bart.
------------------------------
Date: 5 Aug 1998 03:56:42 GMT
From: gebis@fee.ecn.purdue.edu (Michael J Gebis)
Subject: Re: diff-like utility in Perl?
Message-Id: <6q8l5q$9mn@mozo.cc.purdue.edu>
postmaster <"postmaster"@[127.0.0.1]> writes:
}What if the person asking is on a system which is not Unix and has no
}equivalent?
Way to keep it current.
}[On 6/12, almost two months ago,-mjg] Tom Christiansen wrote:
}> [courtesy cc of this posting sent to cited author via email]
}> In comp.lang.perl.misc,
}> Lloyd Zusman <ljz@asfast.com> writes:
}> :I know of no such Perl-based `diff', but perhaps someone out there has
}> :invented such a thing without having posted it to CPAN.
}>
}> Is there a Perl-based netstat? Or ps? Or vi?
}>
}> Sigh.
--
Mike Gebis gebis@ecn.purdue.edu mgebis@eternal.net
------------------------------
Date: 05 Aug 1998 13:49:10 +0100
From: Jim Brewer <jimbo@soundimages.co.uk>
Subject: Re: File already opened by another process?
Message-Id: <u4svrioft.fsf@jimbosntserver.soundimages.co.uk>
Tom Christiansen <tchrist@mox.perl.com> writes:
> :Is there a way in perl to check if a file is already opened by another process ^M
> :running on the system?^M
> :^M
>
> (You have queer ^M's in your message. Better fix that.)
They look like ordinary ^M's to me. But then maybe I don't have my
system properly configuerd. Have to look into that. Thank you for the
tip.
--
Jim Brewer
e-mailed courtesy copies are unappreciated, please refrain.
------------------------------
Date: Wed, 5 Aug 1998 12:07:00 GMT
From: Brent Michalski <perlguy@inlink.com>
Subject: Re: File Upload with Perl
Message-Id: <35C84AE4.15E9D802@inlink.com>
If the administrators are so [up]tight, then why aren't they running a
*current* version of Perl which comes with CGI.pm??????
Also, if they are so tight, I bet that even if they have CGI.pm
available to you, they have it configured so that you cannot upload
files because of the possible security risks.
You may just want to try automating an FTP file upload with Perl and
forgetting about the HTTP way of doing it.
They do allow FTP, don't they.......
Brent
------------------------------
Date: Wed, 5 Aug 1998 11:33:42 GMT
From: gb@hugo.westfalen.de (Georg Bauer)
Subject: Re: gz vs Z on the CPAN
Message-Id: <gb-0508981333420001@jill.westfalen.de>
In article <35C67725.6F72A624@erols.com>, "Matthew O. Persico"
<mpersico@erols.com> wrote:
>make dist COMPRESS=gzip
You can add this as a hint in makefile.dp and so do make dist.
bye, Georg
--
http://www.westfalen.de/hugo/
------------------------------
Date: Wed, 5 Aug 1998 11:32:26 +0100
From: Alan Silver <alan@find-it.furryferret.uk.com>
Subject: Re: Has anyone used the POP3 module ?
Message-Id: <kZewZAA6SDy1EwJ+@find-it.uk.com>
In article <6q75v7$1ug$1@news.gns.getronics.nl>, Jonkers
<snif@xs4all.nonono.nl> writes
>>If I understand it correctly, the $pop->login() bit returns the number
>>of messages in the mailbox. Why then do you need to use $pop->popstat()
>>to get the number of messages ? Won't the numbers be the same ?
>
>The Net::POP3-specifications is/was not compliant with the POP3 -RFC.
>Therefore the explicit popstat() is necessary. All details in the below
>corresponce betwee the Net::POP3-author Graham Barr and me.
<stuff snipped here>
Thanx very much for a quick and informative response. I have now written
a piece of code to do what I want. If anyone wants a copy, please let me
know and I will happily share it.
--
Alan Silver
Please remove the furryferret when replying by e-mail
------------------------------
Date: Wed, 05 Aug 1998 13:12:38 +0100
From: "F.Quednau" <quednauf@nortel.co.uk>
Subject: Re: help me cgi
Message-Id: <35C84C36.73E3182C@nortel.co.uk>
tom wrote:
>
> Um this maybe a dumb question but anyway...
>
> If im posting some thing to one of my scripts can I make it so the info goes
> to the script and the browser is sent to a page of my choice
> with out touching the script.
>
> Thank u manning@idx.com.au
What do you mean? If you send information to the script, you've already
'touched' it. So why not grab the html spec and see how to redirect a
browser to a different page, or why not let the script create the
desired output?
--
____________________________________________________________
Frank Quednau
http://www.surrey.ac.uk/~me51fq
________________________________________________
------------------------------
Date: 5 Aug 1998 03:52:30 GMT
From: gebis@fee.ecn.purdue.edu (Michael J Gebis)
Subject: Re: hiding user input
Message-Id: <6q8ktu$9m9@mozo.cc.purdue.edu>
gburnore@databasix.com (Gary L. Burnore) writes:
}As I said. Heard it all before pudge. BTW, why do they call you pudge? You
}short fat and ugly?
Hey! I just thought of something. Maybe _I_ should be called pudge.
--
Mike Gebis gebis@ecn.purdue.edu mgebis@eternal.net
------------------------------
Date: Wed, 5 Aug 1998 12:29:53 GMT
From: adelton@aisa.fi.muni.cz (Honza Pazdziora)
Subject: Re: mkdir
Message-Id: <slrn6sgk20.gm3.adelton@aisa.fi.muni.cz>
On Wed, 5 Aug 1998 12:24:06 +0100, Martin <minich@globalnet.co.uk> wrote:
> e.g. $absdir = "/www/Data/Hello me";
>
> I would end up with one directory called Hello and another called me.
> How could I just get the one called Hello me?
$mode = 0660;
mkdir $absdir, $mode;
--
------------------------------------------------------------------------
Honza Pazdziora | adelton@fi.muni.cz | http://www.fi.muni.cz/~adelton/
I can take or leave it if I please
------------------------------------------------------------------------
------------------------------
Date: Wed, 05 Aug 1998 08:22:20 -0400
From: "Antoszkiewicz, Andrzej (EXCHANGE:CAR:9L42)" <antoszki@nortel.com>
Subject: Perl Help
Message-Id: <35C84E7C.A218116B@nortel.com>
I am currently writing a perl scrip to handle an application for program
installation. Before the program can be installed CSA must make the
appropriate directories accessible to the user on a given machine. I
therefore would like to call a second script (written in Expect) from my
script in the following fashion;
$error1 = 'login.cgi $ENV{REMOTE_HOST} ppreg';
Mainly I would like the value the executed script to be assigned to the
variable error1. I can then check this value and send the appropriate
e-mails to CSA. Unfortunately If the line is executed as is it only
assumes the value in the single quotes and not the value of the executed
script. What should I do. Furthermore, I would like to verify if the
proper form of assigning a value to an Expect script is by using the
RETURN command.
I would appreciate recieving a copy of the response in my mailbox at:
antoszki@nortel.ca
Thank you;
Andrzej
------------------------------
Date: 5 Aug 1998 12:26:02 GMT
From: Tom Christiansen <perlfaq-suggestions@perl.com>
Subject: perlfaq - frequently asked questions about Perl (part 0 of 9)
Message-Id: <6q9j0q$25l$1@csnews.cs.colorado.edu>
+-----------------------------------------------------------------------+
| The following document was generated from its original pod using |
| the pod2text program included with the standard perl release, plus |
| small cosmetic mark-ups. The FAQ is also distributed with all Perl |
| releases as standard manpages; their latest versions can be retrieved |
| from http://language.perl.com/misc/faqs.tar.gz if you'd like. |
+-----------------------------------------------------------------------+
NAME
perlfaq - frequently asked questions about Perl ($Date: 1998/08/05
12:09:32 $)
DESCRIPTION
This document is structured into the following sections:
perlfaq: Structural overview of the FAQ.
This document.
the perlfaq1 manpage: General Questions About Perl
Very general, high-level information about Perl.
the perlfaq2 manpage: Obtaining and Learning about Perl
Where to find source and documentation to Perl, support, and
related matters.
the perlfaq3 manpage: Programming Tools
Programmer tools and programming support.
the perlfaq4 manpage: Data Manipulation
Manipulating numbers, dates, strings, arrays, hashes, and
miscellaneous data issues.
the perlfaq5 manpage: Files and Formats
I/O and the "f" issues: filehandles, flushing, formats and
footers.
the perlfaq6 manpage: Regexps
Pattern matching and regular expressions.
the perlfaq7 manpage: General Perl Language Issues
General Perl language issues that don't clearly fit into any of
the other sections.
the perlfaq8 manpage: System Interaction
Interprocess communication (IPC), control over the user-
interface (keyboard, screen and pointing devices).
the perlfaq9 manpage: Networking
Networking, the Internet, and a few on the web.
Where to get this document
This document is posted regularly to comp.lang.perl.announce and
several other related newsgroups. It is available in a variety of
formats from CPAN in the /CPAN/doc/FAQs/FAQ/ directory, or on the
web at http://www.perl.com/perl/faq/ .
How to contribute to this document
You may mail corrections, additions, and suggestions to perlfaq-
suggestions@perl.com . This alias should not be used to *ask* FAQs.
It's for fixing the current FAQ.
What will happen if you mail your Perl programming problems to the authors
Your questions will probably go unread, unless they're suggestions
of new questions to add to the FAQ, in which case they should have
gone to the perlfaq-suggestions@perl.com instead.
You should have read section 2 of this faq. There you would have
learned that comp.lang.perl.misc is the appropriate place to go for
free advice. If your question is really important and you require a
prompt and correct answer, you should hire a consultant.
Credits
When I first began the Perl FAQ in the late 80s, I never realized
it would have grown to over a hundred pages, nor that Perl would
ever become so popular and widespread. This document could not have
been written without the tremendous help provided by Larry Wall and
the rest of the Perl Porters.
Author and Copyright Information
Copyright (c) 1997, 1998 Tom Christiansen and Nathan Torkington.
All rights reserved.
Bundled Distributions
When included as part of the Standard Version of Perl, or as part
of its complete documentation whether printed or otherwise, this
work may be distributed only under the terms of Perl's Artistic
License. Any distribution of this file or derivatives thereof
*outside* of that package require that special arrangements be made
with copyright holder.
Irrespective of its distribution, all code examples in these files
are hereby placed into the public domain. You are permitted and
encouraged to use this code in your own programs for fun or for
profit as you see fit. A simple comment in the code giving credit
would be courteous but is not required.
Disclaimer
This information is offered in good faith and in the hope that it
may be of use, but is not guaranteed to be correct, up to date, or
suitable for any particular purpose whatsoever. The authors accept
no liability in respect of this information or its use.
Changes
22/June/98
Significant changes throughout in preparation for the 5.005
release.
24/April/97
Style and whitespace changes from Chip, new question on reading
one character at a time from a terminal using POSIX from Tom.
23/April/97
Added http://www.oasis.leo.org/perl/ to the perlfaq2 manpage.
Style fix to the perlfaq3 manpage. Added floating point
precision, fixed complex number arithmetic, cross-references,
caveat for Text::Wrap, alternative answer for initial
capitalizing, fixed incorrect regexp, added example of
Tie::IxHash to the perlfaq4 manpage. Added example of passing
and storing filehandles, added commify to the perlfaq5 manpage.
Restored variable suicide, and added mass commenting to the
perlfaq7 manpage. Added Net::Telnet, fixed backticks, added
reader/writer pair to telnet question, added FindBin, grouped
module questions together in the perlfaq8 manpage. Expanded
caveats for the simple URL extractor, gave LWP example, added
CGI security question, expanded on the mail address answer in
the perlfaq9 manpage.
25/March/97
Added more info to the binary distribution section of the
perlfaq2 manpage. Added Net::Telnet to the perlfaq6 manpage.
Fixed typos in the perlfaq8 manpage. Added mail sending example
to the perlfaq9 manpage. Added Merlyn's columns to the perlfaq2
manpage.
18/March/97
Added the DATE to the NAME section, indicating which sections
have changed.
Mentioned SIGPIPE and the perlipc manpage in the forking open
answer in the perlfaq8 manpage.
Fixed description of a regular expression in the perlfaq4
manpage.
17/March/97 Version
Various typos fixed throughout.
Added new question on Perl BNF on the perlfaq7 manpage.
Initial Release: 11/March/97
This is the initial release of version 3 of the FAQ;
consequently there have been no changes since its initial
release.
------------------------------
Date: 5 Aug 1998 12:26:57 GMT
From: Tom Christiansen <perlfaq-suggestions@mox.perl.com>
Subject: perlfaq1 - General Questions About Perl (part 1 of 9)
Message-Id: <6q9j2h$25q$1@csnews.cs.colorado.edu>
+-----------------------------------------------------------------------+
| The following document was generated from its original pod using |
| the pod2text program included with the standard perl release, plus |
| small cosmetic mark-ups. The FAQ is also distributed with all Perl |
| releases as standard manpages; their latest versions can be retrieved |
| from http://language.perl.com/misc/faqs.tar.gz if you'd like. |
+-----------------------------------------------------------------------+
NAME
perlfaq1 - General Questions About Perl ($Revision: 1.15 $, $Date:
1998/08/05 11:52:24 $)
DESCRIPTION
This section of the FAQ answers very general, high-level questions
about Perl.
What is Perl?
Perl is a high-level programming language with an eclectic heritage
written by Larry Wall and a cast of thousands. It derives from the
ubiquitous C programming language and to a lesser extent from sed,
awk, the Unix shell, and at least a dozen other tools and
languages. Perl's process, file, and text manipulation facilities
make it particularly well-suited for tasks involving quick
prototyping, system utilities, software tools, system management
tasks, database access, graphical programming, networking, and
world wide web programming. These strengths make it especially
popular with system administrators and CGI script authors, but
mathematicians, geneticists, journalists, and even managers also
use Perl. Maybe you should, too.
Who supports Perl? Who develops it? Why is it free?
The original culture of the pre-populist Internet and the deeply-
held beliefs of Perl's author, Larry Wall, gave rise to the free
and open distribution policy of perl. Perl is supported by its
users. The core, the standard Perl library, the optional modules,
and the documentation you're reading now were all written by
volunteers. See the personal note at the end of the README file in
the perl source distribution for more details. See the perlhist
manpage (new as of 5.005) for Perl's milestone releases.
In particular, the core development team (known as the Perl
Porters) are a rag-tag band of highly altruistic individuals
committed to producing better software for free than you could hope
to purchase for money. You may snoop on pending developments via
news://genetics.upenn.edu/perl.porters-gw/ and
http://www.frii.com/~gnat/perl/porters/summary.html.
While the GNU project includes Perl in its distributions, there's
no such thing as "GNU Perl". Perl is not produced nor maintained by
the Free Software Foundation. Perl's licensing terms are also more
open than GNU software's tend to be.
You can get commercial support of Perl if you wish, although for
most users the informal support will more than suffice. See the
answer to "Where can I buy a commercial version of perl?" for more
information.
Which version of Perl should I use?
You should definitely use version 5. Version 4 is old, limited, and
no longer maintained; its last patch (4.036) was in 1992. The most
recent production release is 5.005_01. Further references to the
Perl language in this document refer to this production release
unless otherwise specified. There may be one or more official bug
fixes for 5.005_01 by the time you read this, and also perhaps some
experimental versions on the way to the next release.
What are perl4 and perl5?
Perl4 and perl5 are informal names for different versions of the
Perl programming language. It's easier to say "perl5" than it is to
say "the 5(.004) release of Perl", but some people have interpreted
this to mean there's a language called "perl5", which isn't the
case. Perl5 is merely the popular name for the fifth major release
(October 1994), while perl4 was the fourth major release (March
1991). There was also a perl1 (in January 1988), a perl2 (June
1988), and a perl3 (October 1989).
The 5.0 release is, essentially, a complete rewrite of the perl
source code from the ground up. It has been modularized, object-
oriented, tweaked, trimmed, and optimized until it almost doesn't
look like the old code. However, the interface is mostly the same,
and compatibility with previous releases is very high.
To avoid the "what language is perl5?" confusion, some people
prefer to simply use "perl" to refer to the latest version of perl
and avoid using "perl5" altogether. It's not really that big a
deal, though.
See the perlhist manpage for a history of Perl revisions.
How stable is Perl?
Production releases, which incorporate bug fixes and new
functionality, are widely tested before release. Since the 5.000
release, we have averaged only about one production release per
year.
Larry and the Perl development team occasionally make changes to
the internal core of the language, but all possible efforts are
made toward backward compatibility. While not quite all perl4
scripts run flawlessly under perl5, an update to perl should nearly
never invalidate a program written for an earlier version of perl
(barring accidental bug fixes and the rare new keyword).
Is Perl difficult to learn?
No, Perl is easy to start learning -- and easy to keep learning. It
looks like most programming languages you're likely to have
experience with, so if you've ever written an C program, an awk
script, a shell script, or even BASIC program, you're already part
way there.
Most tasks only require a small subset of the Perl language. One of
the guiding mottos for Perl development is "there's more than one
way to do it" (TMTOWTDI, sometimes pronounced "tim toady"). Perl's
learning curve is therefore shallow (easy to learn) and long
(there's a whole lot you can do if you really want).
Finally, Perl is (frequently) an interpreted language. This means
that you can write your programs and test them without an
intermediate compilation step, allowing you to experiment and
test/debug quickly and easily. This ease of experimentation
flattens the learning curve even more.
Things that make Perl easier to learn: Unix experience, almost any
kind of programming experience, an understanding of regular
expressions, and the ability to understand other people's code. If
there's something you need to do, then it's probably already been
done, and a working example is usually available for free. Don't
forget the new perl modules, either. They're discussed in Part 3 of
this FAQ, along with the CPAN, which is discussed in Part 2.
How does Perl compare with other languages like Java, Python, REXX,
Scheme, or Tcl?
Favorably in some areas, unfavorably in others. Precisely which
areas are good and bad is often a personal choice, so asking this
question on Usenet runs a strong risk of starting an unproductive
Holy War.
Probably the best thing to do is try to write equivalent code to do
a set of tasks. These languages have their own newsgroups in which
you can learn about (but hopefully not argue about) them.
Can I do [task] in Perl?
Perl is flexible and extensible enough for you to use on almost any
task, from one-line file-processing tasks to complex systems. For
many people, Perl serves as a great replacement for shell
scripting. For others, it serves as a convenient, high-level
replacement for most of what they'd program in low-level languages
like C or C++. It's ultimately up to you (and possibly your
management ...) which tasks you'll use Perl for and which you
won't.
If you have a library that provides an API, you can make any
component of it available as just another Perl function or variable
using a Perl extension written in C or C++ and dynamically linked
into your main perl interpreter. You can also go the other
direction, and write your main program in C or C++, and then link
in some Perl code on the fly, to create a powerful application.
That said, there will always be small, focused, special-purpose
languages dedicated to a specific problem domain that are simply
more convenient for certain kinds of problems. Perl tries to be all
things to all people, but nothing special to anyone. Examples of
specialized languages that come to mind include prolog and matlab.
When shouldn't I program in Perl?
When your manager forbids it -- but do consider replacing them :-).
Actually, one good reason is when you already have an existing
application written in another language that's all done (and done
well), or you have an application language specifically designed
for a certain task (e.g. prolog, make).
For various reasons, Perl is probably not well-suited for real-time
embedded systems, low-level operating systems development work like
device drivers or context-switching code, complex multithreaded
shared-memory applications, or extremely large applications. You'll
notice that perl is not itself written in Perl.
The new native-code compiler for Perl may reduce the limitations
given in the previous statement to some degree, but understand that
Perl remains fundamentally a dynamically typed language, and not a
statically typed one. You certainly won't be chastized if you don't
trust nuclear-plant or brain-surgery monitoring code to it. And
Larry will sleep easier, too -- Wall Street programs not
withstanding. :-)
What's the difference between "perl" and "Perl"?
One bit. Oh, you weren't talking ASCII? :-) Larry now uses "Perl"
to signify the language proper and "perl" the implementation of it,
i.e. the current interpreter. Hence Tom's quip that "Nothing but
perl can parse Perl." You may or may not choose to follow this
usage. For example, parallelism means "awk and perl" and "Python
and Perl" look ok, while "awk and Perl" and "Python and perl" do
not.
Is it a Perl program or a Perl script?
It doesn't matter.
In "standard terminology" a *program* has been compiled to physical
machine code once, and can then be be run multiple times, whereas a
*script* must be translated by a program each time it's used. Perl
programs, however, are usually neither strictly compiled nor
strictly interpreted. They can be compiled to a byte code form
(something of a Perl virtual machine) or to completely different
languages, like C or assembly language. You can't tell just by
looking whether the source is destined for a pure interpreter, a
parse-tree interpreter, a byte code interpreter, or a native-code
compiler, so it's hard to give a definitive answer here.
What is a JAPH?
These are the "just another perl hacker" signatures that some
people sign their postings with. About 100 of the of the earlier
ones are available from http://www.perl.com/CPAN/misc/japh .
Where can I get a list of Larry Wall witticisms?
Over a hundred quips by Larry, from postings of his or source code,
can be found at http://www.perl.com/CPAN/misc/lwall-quotes .
How can I convince my sysadmin/supervisor/employees to use version
(5/5.005/Perl instead of some other language)?
If your manager or employees are wary of unsupported software, or
software which doesn't officially ship with your Operating System,
you might try to appeal to their self-interest. If programmers can
be more productive using and utilizing Perl constructs,
functionality, simplicity, and power, then the typical
manager/supervisor/employee may be persuaded. Regarding using Perl
in general, it's also sometimes helpful to point out that delivery
times may be reduced using Perl, as compared to other languages.
If you have a project which has a bottleneck, especially in terms
of translation or testing, Perl almost certainly will provide a
viable, and quick solution. In conjunction with any persuasion
effort, you should not fail to point out that Perl is used, quite
extensively, and with extremely reliable and valuable results, at
many large computer software and/or hardware companies throughout
the world. In fact, many Unix vendors now ship Perl by default, and
support is usually just a news-posting away, if you can't find the
answer in the *comprehensive* documentation, including this FAQ.
If you face reluctance to upgrading from an older version of perl,
then point out that version 4 is utterly unmaintained and
unsupported by the Perl Development Team. Another big sell for
Perl5 is the large number of modules and extensions which greatly
reduce development time for any given task. Also mention that the
difference between version 4 and version 5 of Perl is like the
difference between awk and C++. (Well, ok, maybe not quite that
distinct, but you get the idea.) If you want support and a
reasonable guarantee that what you're developing will continue to
work in the future, then you have to run the supported version.
That probably means running the 5.005 release, although 5.004 isn't
that bad (it's just one year and one release behind). Several
important bugs were fixed from the 5.000 through 5.003 versions,
though, so try upgrading past them if possible.
Of particular note is the massive bughunt for buffer overflow
problems that went into the 5.004 release. All releases prior to
that, including perl4, are considered insecure and should be
upgraded as soon as possible.
AUTHOR AND COPYRIGHT
Copyright (c) 1997, 1998 Tom Christiansen and Nathan Torkington.
All rights reserved.
When included as an integrated part of the Standard Distribution of
Perl or of its documentation (printed or otherwise), this works is
covered under Perl's Artistic Licence. For separate distributions
of all or part of this FAQ outside of that, see the perlfaq
manpage.
Irrespective of its distribution, all code examples here are public
domain. You are permitted and encouraged to use this code and any
derivatives thereof in your own programs for fun or for profit as
you see fit. A simple comment in the code giving credit to the FAQ
would be courteous but is not required.
------------------------------
Date: 12 Jul 98 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Special: Digest Administrivia (Last modified: 12 Mar 98)
Message-Id: <null>
Administrivia:
Special notice: in a few days, the new group comp.lang.perl.moderated
should be formed. I would rather not support two different groups, and I
know of no other plans to create a digested moderated group. This leaves
me with two options: 1) keep on with this group 2) change to the
moderated one.
If you have opinions on this, send them to
perl-users-request@ruby.oce.orst.edu.
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.
The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed 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 V8 Issue 3354
**************************************