[13217] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 627 Volume: 9

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Tue Aug 24 03:07:11 1999

Date: Tue, 24 Aug 1999 00:05:12 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Tue, 24 Aug 1999     Volume: 9 Number: 627

Today's topics:
        Automating Form Submissions question... <church@NOSPAMspinn.net>
    Re: DST daylight saving period? (Michael Fuhr)
    Re: DST daylight saving period? <ahands@sprynet.com>
    Re: DST daylight saving period? (Abigail)
        Email Bounce config - MIME::Enitity <preble@ipass.net>
    Re: File Upload for WinNT W/ ActivePerl and CGI.pm-2.54 <ehpoole@ingress.com>
    Re: GDBM Access in Perl <Tim.Potter@anu.edu.au>
        how to capture STDOUT from external command? angpung@my-deja.com
    Re: how to capture STDOUT from external command? <ahands@sprynet.com>
    Re: how to capture STDOUT from external command? (Sam Holden)
        Insecure $ENV{PATH} while running setuid at /dev/fd/4 l mr_potato_head@my-deja.com
        IO problem seanfeng@my-deja.com
    Re: matching tags in HTML (Martien Verbruggen)
    Re: Perl e-mail handler <ahands@sprynet.com>
    Re: POP is pooped! <ahands@sprynet.com>
    Re: POP is pooped! (Sam Holden)
        Regular Expression: overlapped words <yoursguideline@hotmail.com>
    Re: Regular Expression: overlapped words (Ilya Zakharevich)
    Re: Request for Comments: www.perl.com <mikecard@my-deja.com>
    Re: testing (Abigail)
    Re: Why use Perl when we've got Python?! <xah@best.com>
    Re: Why use Perl when we've got Python?! (Kaz Kylheku)
        Digest Administrivia (Last modified: 1 Jul 99) (Perl-Users-Digest Admin)

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

Date: Tue, 24 Aug 1999 00:38:42 -0600
From: "DC" <church@NOSPAMspinn.net>
Subject: Automating Form Submissions question...
Message-Id: <_grw3.33$151.40821@news.gstis.net>

OK...I am using Tom's Perlfaq #9 routine..

If you're using the POST method, create your own user agent and
    encode the content appropriately.

        use HTTP::Request::Common qw(POST);
        use LWP::UserAgent;

        $ua = LWP::UserAgent->new();
        my $req = POST 'http://www.perl.com/cgi-bin/cpan_mod',
                       [ module => 'DB_File', readme => 1 ];
        $content = $ua->request($req)->as_string;

If I have an array of values such as

@array = "moduleDB_Filereadme1"

and I want to pass them to the above POST routine using single quotes around
each value, how can I do it?

Thanks.

dan :)
church@spinn.net







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

Date: 23 Aug 1999 22:09:24 -0600
From: mfuhr@dimensional.com (Michael Fuhr)
Subject: Re: DST daylight saving period?
Message-Id: <7pt5tk$aop@flatland.dimensional.com>

Horace Ho <horaceho@geocities.com> writes:

> How could I check if the local time is in DST?
> BTW, what are the starting and end days of
> a DST period? Are they different from place to
> place?

perldoc -f localtime

DST is different from place to place.  Europe tends to change their
clocks one week ahead of the US in the spring.  Some places in the US
change their clocks, some don't.  Other locales have their own rules.
On some systems, you can use "zdump -v <timezone>" to see the rules for
a particular timezone.

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/


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

Date: Tue, 24 Aug 1999 00:23:12 -0400
From: Adrian Hands <ahands@sprynet.com>
To: Horace Ho <horaceho@geocities.com>
Subject: Re: DST daylight saving period?
Message-Id: <37C21E30.572591D6@sprynet.com>

Horace Ho wrote:

> How could I check if the local time is in DST?

use strict;
use Time::localtime;
if(localtime->isdst) { print "yep\n"; }
else { print "nope\n"; }


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

Date: 23 Aug 1999 23:40:20 -0500
From: abigail@delanet.com (Abigail)
Subject: Re: DST daylight saving period?
Message-Id: <slrn7s48jb.keh.abigail@alexandra.delanet.com>

Horace Ho (horaceho@geocities.com) wrote on MMCLXXXIV September MCMXCIII
in <URL:news:37C215E0.159B3AC4@geocities.com>:
@@ How could I check if the local time is in DST?

Did you read the manual about localtime?

@@ BTW, what are the starting and end days of
@@ a DST period? Are they different from place to
@@ place?

Yes.



Abigail
-- 
%0=map{reverse+chop,$_}ABC,ACB,BAC,BCA,CAB,CBA;$_=shift().AC;1while+s/(\d+)((.)
(.))/($0=$1-1)?"$0$3$0{$2}1$2$0$0{$2}$4":"$3 => $4\n"/xeg;print#Towers of Hanoi


  -----------== Posted via Newsfeeds.Com, Uncensored Usenet News ==----------
   http://www.newsfeeds.com       The Largest Usenet Servers in the World!
------== Over 73,000 Newsgroups - Including  Dedicated  Binaries Servers ==-----


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

Date: Tue, 24 Aug 1999 00:11:55 -0400
From: "E. Preble" <preble@ipass.net>
Subject: Email Bounce config - MIME::Enitity
Message-Id: <uUow3.1130$tp2.1015@news.ipass.net>

I'm using MIME::ENTITY to send emails via a form.  I'd like
to know if the emails bounce or not, but am unsure of the
field that needs to be added (I assume to the header of the
email). The "from" field doesn't get messages if they
bounce. Which one would?

    $top = build MIME::Entity Type => $message_type,
    From => $Config{'recipient'},
    To => $Config{'email'},
    Subject => $Config{'subject'};

Thanks ahead.

Edward Preble

--
Datatrend Software
http://www.datatrendsoftware.com
mailto:info@datatrendsoftware.com

Grab It! digitizer for MS Excel
Double Check It Products
Automail scripts for website automation
----------------------------------------------------



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

Date: Tue, 24 Aug 1999 00:23:58 -0400
From: "Ethan H. Poole" <ehpoole@ingress.com>
Subject: Re: File Upload for WinNT W/ ActivePerl and CGI.pm-2.54
Message-Id: <37C21E5E.DD30557B@ingress.com>

[posted and emailed]

Dallas Jones wrote:
> 
> I'm running NT and have ActivePerl and CGI.pm-2.54 installed. I can't get
> any of the scripts I've found to upload a file from a user's browser. I've
> searched through the posts herein and through the help files, but I still
> don't really have a handle on what's going on. If someone would be so kind
> as to explain to me what needs to be done, I will in turn create a web page
> explaining that same process and post it as a resource for people who ask in
> the future.

I don't use CGI.pm so I can not tell you whether or not there is/are any
specific concerns relating to its handling of multipart/form-data uploads
under NT.

First step though is to make certain you have specifed:

  < form action="/cgi-bin/myprog.cgi" method="POST"
enctype="multipart/form-data" >

Specifying enctype="multipart/form-data" is critical!

Beyond that, all I can offer is the assurance that there is no inherent
problem with uploading files under NT, using IIS 3.0 or 4.0, as I have
uploaded multi-megabyte (10+MB) files with my own library without
incident.

-- 
Ethan H. Poole           ****   BUSINESS   ****
ehpoole@ingress.com      ==Interact2Day, Inc.==
(personal)               http://www.interact2day.com/


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

Date: 24 Aug 1999 14:28:15 +1000
From: Tim Potter <Tim.Potter@anu.edu.au>
Subject: Re: GDBM Access in Perl
Message-Id: <6ybtbx7qfz.fsf@acronym.anu.edu.au>

Jim Turner <jimt@netins.net> writes:

> Ben's suggestion of :
> 
> $map = tie %my_hash,'GDBM_File',$file,&GDBM_WRCREAT,0644
> 
> works and correctly ties the file to a hash and I can loop through all the
> data in the file now, but I don't believe that's the proper way of accessing
> entries (seeing as it takes 3-5 minutes to pull one key... it's a large DB).
> Such things like $my_hash{"$key"} will pull the correct information much
> faster, but I'm very unsure if this is the correct way to change values in a
> database.

Once you have made the tie() to the datafile, you can read and write
it by accessing the hash (like $my_hash{"$key"} above).  This is the
correct way to access a tied GDBM database.

As for your slow access problem, it could be due to a couple of
reasons.  How large is your database?  One trick with gdbm is if you
have deleted elements from the database, they are only marked as
deleted and not actually removed from the database file until you call
the gdbm_reorganize() function thusly.  This may reduce the size of
your database file and speed up accesses.

#!/usr/bin/perl

use GDBM_File;
                        
$db = tie(%hash, "GDBM_File", "test_db", GDBM_WRITER, 0640); 
$db->reorganize();

untie($db);
__END__

> hashes, DBM, GDBM, and modules.  There are routines that I seen
> talked about, but there are never any examples or futher discussion
> of them except what they are supposed to do.  FETCH, STORE, DELELE,
> EXISTS... how does one use these?  Perl only complains that it's
> undefined, no matter what type of require or package I pull in.

The FETCH, STORE, DELETE stuff has to do with making your own tied
variables.  If you just want to use the GDBM_File module then you
don't need to worry about it.  Check out the section on Using Tied
Variables in Chapter 5 of the Camel book for more information on this
stuff.

Essentially, the FETCH, STORE and friends routines allow you to bind
subroutines to variable accesses.  For example, I can make a hash that
returns the number '42' as the value for any key by writing an
appropriate FETCH function.  There are more useful applications than
this though.  (-:


Tim.

-- 
Tim Potter, System Admin/Programmer              "Disco Stu doesn't advertise"
Advanced Computational Systems CRC, RSISE Bldg Australian National University,
Canberra 0200, AUSTRALIA Ph: +61 2 62798813 Fax: +61 2 62798602


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

Date: Tue, 24 Aug 1999 03:57:37 GMT
From: angpung@my-deja.com
Subject: how to capture STDOUT from external command?
Message-Id: <7pt57d$7rd$1@nnrp1.deja.com>

I call external shell command by using pipe like:

open (SQL,"| sqlplus ");
print SQL "select * from xxx;\n";

and I want to capture the output from that external command to a variable,
how can I do this?

Thanks


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.


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

Date: Tue, 24 Aug 1999 00:34:19 -0400
From: Adrian Hands <ahands@sprynet.com>
To: angpung@my-deja.com
Subject: Re: how to capture STDOUT from external command?
Message-Id: <37C220CB.32ABDB35@sprynet.com>

angpung@my-deja.com wrote:
> 
> I call external shell command by using pipe like:
> 
> open (SQL,"| sqlplus ");
> print SQL "select * from xxx;\n";
> 
> and I want to capture the output from that external command to a variable,
> how can I do this?
> 
> Thanks
> 
> Sent via Deja.com http://www.deja.com/
> Share what you know. Learn what you don't.

You REALLY should use DBI, not sql*plus.
It's way more powerful, safer, cleaner, etc...

use strict;
use DBI;

my $dbh = DBI::connect("dbi:Oracle:$dbname", "scott", "tiger");
my $csr = $dbh->prepare("select * from xxx");
$csr->execute();
while(my($col1, $col2) = $csr->fetchrow()) {
    print "$col1 $col2\n";
}
$csr->finish();
$dbh->disconnect();


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

Date: 24 Aug 1999 04:38:14 GMT
From: sholden@pgrad.cs.usyd.edu.au (Sam Holden)
Subject: Re: how to capture STDOUT from external command?
Message-Id: <slrn7s48er.bid.sholden@pgrad.cs.usyd.edu.au>

On Tue, 24 Aug 1999 03:57:37 GMT, angpung@my-deja.com wrote:
>I call external shell command by using pipe like:
>
>open (SQL,"| sqlplus ");
>print SQL "select * from xxx;\n";
>
>and I want to capture the output from that external command to a variable,
>how can I do this?

Which part of the perlipc documentation do you not understand?

-- 
Sam

I for one can hardly wait for that blessed day: 0/1/100. :-)
	-- Tom Christiansen in <374b4a3f@cs.colorado.edu>


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

Date: Tue, 24 Aug 1999 05:32:17 GMT
From: mr_potato_head@my-deja.com
Subject: Insecure $ENV{PATH} while running setuid at /dev/fd/4 line 2.
Message-Id: <7ptap1$bmj$1@nnrp1.deja.com>

Hi,
   Ok, I give up.  I'm lame and I need help.  My problem is that I have
the following script that I need to allow a user to run on my informix
database.  This user needs to run this script as user "informix".  When
I change the permissions on the script to "4755" and ran the scripts, I
get  the following error: "Insecure $ENV{PATH} while running setuid at
/dev/fd/4 line 2.".  Can anyone show me what line I need to add to get
rid of this error?  Thanks in advance...



#!/usr/local/bin/perl
$mmddhhmmss = `date +%m%d%H%M%S`;
chop $mmddhhmmss;

if ($ARGV[0] eq "") {
   print "Exiting, Bad Format...\n";
}
$ENV{INFORMIXSERVER} = "n41_shm";

#################################################################
# if user uses the '-u' flag, just unload the trunk_grp_dim table
#################################################################
if ($ARGV[0] eq "-u") {
   open DBACCESS, "| /usr/informix/bin/dbaccess" or die "Couldn't run
dbaccess:
$!; aborting";
      print DBACCESS qq{
         database pmrpt\@n41_shm;
         UNLOAD TO './trunk_grp_dim.$mmddhhmmss'
         select * from trunk_grp_dim
      };
   close DBACCESS or die "Couldn't close dbaccess: $!; aborting";
   exit;
}


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.


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

Date: Tue, 24 Aug 1999 05:38:13 GMT
From: seanfeng@my-deja.com
Subject: IO problem
Message-Id: <7ptb45$bpd$1@nnrp1.deja.com>

Please help a wondering soul who is still at work!

I put together a script that uses LWP::UserAgent to get a live response.
 It also creates a new sub-class of object from HTML::Parser in order
to extract text from the HTML.  Problem is I need to collect all the
text output, do a reg exp search for a set of keywords and their
associative values.

FYI, I did recommend that the site should be in XML, but the company has
no plan to do it until years later.

I included the text extracting code.  PLEASE tell me how I could
collect the text output!  Any hints?  Thank you very much!

package Hparser;
use HTML::Parser;
@Hparser::ISA=qw(HTML::Parser);

sub text {
    my $self = shift;
    my $text = shift;
    my $line = HTML::Entities::decode( $text );
    print $line if ($line =~ (/\S/));
}

package main;
my $p = Hparser->new;
$p->parse($res->content) || die "Cannot do parse: $!";


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.


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

Date: Tue, 24 Aug 1999 04:32:21 GMT
From: mgjv@comdyn.com.au (Martien Verbruggen)
Subject: Re: matching tags in HTML
Message-Id: <pfpw3.2467$X%3.12708@nsw.nnrp.telstra.net>

In article <37C215AA.CECE73FC@sprynet.com>,
	Adrian Hands <ahands@sprynet.com> writes:

> $ perl -wpe 'chomp;' < tt.html > tt.html.$$ && mv tt.html.$$ tt.html

# perl -wpi -e 'chomp' tt.html

Martien
-- 
Martien Verbruggen                  | 
Interactive Media Division          | 
Commercial Dynamics Pty. Ltd.       | Curiouser and curiouser, said Alice.
NSW, Australia                      | 


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

Date: Tue, 24 Aug 1999 00:58:08 -0400
From: Adrian Hands <ahands@sprynet.com>
To: Anthony Lalande <tonyboy@earthling.net>
Subject: Re: Perl e-mail handler
Message-Id: <37C22660.14C7E126@sprynet.com>

Anthony Lalande wrote:
> 
> Greetings.
> 
> Can anyone tell me if there is a way to automatically invoke a perl
> script to read a mail file (/var/spool/mail/) as soon as the file gets
> writen to? (ie: incoming mail has been received)
> 
> Please reply directly to my e-mail address.
> 
> Thank you,
> - Anthony L.

Use "procmail".

See:
http://www.moongroup.com/unix/procmail/mini-faq.html#rtfm


An excerpt from the above:

Q: How can I run an arbitrary Perl or shell script on all or selected
incoming mail? 

A: Install Procmail. Read the manual pages (there are several). Thank
you. 

        :0
        * conditions, if any
        | your-script-here

The conditions, in their simplest form, are regular expressions to match
against the header of each incoming mail message. Correction: Even
simpler, you can leave
out the condition lines completely if you want to do your action (in
this case, run a shell script) unconditionally.


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

Date: Tue, 24 Aug 1999 00:19:34 -0400
From: Adrian Hands <ahands@sprynet.com>
To: webmaster@mendonet.com
Subject: Re: POP is pooped!
Message-Id: <37C21D56.BE5914EF@sprynet.com>

Jon Hollcraft wrote:

>         @accesses=(KEYS);

Should be:
          @accesses = <KEYS>;

that should do it.
That is, make it work.  This does read the whole log file into memory -
if you're only interested in the last line it might be better to do
something like:

chomp(my $accesslast = `tail -1 $keys`);

or

my $accesslast;
while(<KEYS>) { $accesslast = $_; };


BTW, if you put the pragma "use strict;" at the top of your code,
it will catch mistakes like this and point them out to you with a
message like:

Bareword "KEYS" not allowed while "strict subs" in use at line 9

It will also make you put "my" in front of your variables when they're
first allocated,
(which is also a good practice.)


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

Date: 24 Aug 1999 04:14:33 GMT
From: sholden@pgrad.cs.usyd.edu.au (Sam Holden)
Subject: Re: POP is pooped!
Message-Id: <slrn7s472e.bid.sholden@pgrad.cs.usyd.edu.au>

On Mon, 23 Aug 1999 20:46:34 -0700,
    Jon Hollcraft <webmaster@mendonet.com> wrote:
>I can't seem to get my pop to pop!
>
<snip problem which managed to explain nothing at all>
>
>	open(KEYS,"$keys") || die print "Cannot Open Keys Data: $!\n";
>	flock(KEYS, 2);

You should really use the human readbale constants LOCK_SH, etc...

>	@accesses=(KEYS);

I think you mean <KEYS> there...

>	close(KEYS);
>	$accesslast=pop(@accesses);


-- 
Sam

Perl was designed to be a mess (though in the nicest of possible ways). 
	--Larry Wall


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

Date: Tue, 24 Aug 1999 13:36:04 +0800
From: Guideline Chan <yoursguideline@hotmail.com>
Subject: Regular Expression: overlapped words
Message-Id: <37C22F44.81C04698@hotmail.com>

I wrote a code:

$_ = 'applelen';
s/^(?=.*apple)(?=.*len)/=$&=/g;
print $_;

The result is =applelen=. It is fine. However, the problme occurs if I
change the value of $_ to 'applen'. It gives me ==applen.

Does anyone know how to make the result become =applen= ????



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

Date: 24 Aug 1999 06:22:59 GMT
From: ilya@math.ohio-state.edu (Ilya Zakharevich)
Subject: Re: Regular Expression: overlapped words
Message-Id: <7ptdo3$bss$1@charm.magnus.acs.ohio-state.edu>

[A complimentary Cc of this posting was sent to Guideline Chan 
<yoursguideline@hotmail.com>],
who wrote in article <37C22F44.81C04698@hotmail.com>:
> $_ = 'applelen';
> s/^(?=.*apple)(?=.*len)/=$&=/g;
> print $_;
> 
> The result is =applelen=. 

Ouph, I was really scared...  But I checked, and the result is as
documented:

  ==applelen

>			    It is fine. However, the problme occurs if I
> change the value of $_ to 'applen'. It gives me ==applen.

Ilya


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

Date: Tue, 24 Aug 1999 04:47:35 GMT
From: mike cardeiro <mikecard@my-deja.com>
Subject: Re: Request for Comments: www.perl.com
Message-Id: <7pt855$9r9$1@nnrp1.deja.com>

In article <7psd9t$k3q@junior.apk.net>,
  catfood@apk.net (Mark W. Schumann) wrote:


> I must be misinterpreting this.
> Do you mean that the documentation _is_ formatted (in terms of line
> widths) but not to a width you find reasonable?  Otherwise I'm not
> sure I get what you're saying.

i mean that rather than having the width of a paticular element be a
percentage, so that no matter how small or big my screen is the data
will fill it to the edge of the screen (or margin) then go down to the
next line, the data appears to have been given an absolute value, so
that even when i view it at 800x600 (which i could never even dream of
using at home on my 14" monitor) the text does not fit on my screen
horizontally and i have to scroll from left to right to read each line.

i received an email today from somebody at perl.com who said they were
fixing this.


mike cardeiro
mike cardeiro


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.


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

Date: 23 Aug 1999 23:43:19 -0500
From: abigail@delanet.com (Abigail)
Subject: Re: testing
Message-Id: <slrn7s48ou.keh.abigail@alexandra.delanet.com>

Nick Lee (leenick@interchange.ubc.ca) wrote on MMCLXXXIII September
MCMXCIII in <URL:news:37C1788C.23898A5E@interchange.ubc.ca>:
@@ sorry for any inconvenience

*ploink*



Abigail
-- 
sub _'_{$_'_=~s/$a/$_/}map{$$_=$Z++}Y,a..z,A..X;*{($_::_=sprintf+q=%X==>"$A$Y".
"$b$r$T$u")=~s~0~O~g;map+_::_,U=>T=>L=>$Z;$_::_}=*_;sub _{print+/.*::(.*)/s}
*_'_=*{chr($b*$e)};*__=*{chr(1<<$e)};
_::_(r(e(k(c(a(H(__(l(r(e(P(__(r(e(h(t(o(n(a(__(t(us(J())))))))))))))))))))))))


  -----------== Posted via Newsfeeds.Com, Uncensored Usenet News ==----------
   http://www.newsfeeds.com       The Largest Usenet Servers in the World!
------== Over 73,000 Newsgroups - Including  Dedicated  Binaries Servers ==-----


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

Date: Mon, 23 Aug 1999 21:29:34 -0700
From: "Xah" <xah@best.com>
Subject: Re: Why use Perl when we've got Python?!
Message-Id: <37c21fae$0$216@nntp1.ba.best.com>

I gather you are a newbie. Normally I'd just kick newbie's ass for the fun
of it, but this time I feel magnanimous and will give you the benefit of a
doubt.

I wrote:
>>Have you ever glanced at a graduate math text? It's probably all Greeks to
>>you. However, if someone in the know who translated all the symbolism to
>>plain English, then it becomes legible.

u wrote:
> I doubt that translating the elegant, condensed notation into verbose English
> would result in anything legible or useful.

I don't know you are in the python camp or perl camp, but apparently you are
not acquainted with the Perl Ways. English has evolved to be extremely
versatile and useful. It gives you the freedom to express anything in any
manner or style you want. If elegance AND terseness is your thing, what
better examples other than poems? (btw, you can do that in Perl too.) There
is nothing whatsoever in math symbolism that cannot be expressed better by
English. For example, a^2+b^2=c^2 can be expressed as "A number multiplied
by itself plus another number multiplied by itself is equal to a third
number multiplied by itself". Now, that's the verbose version you are
thinking of. But look, "Sum of two squared equals one" is a condensed form.
Further, "Sum two squares is one". Or if you are a power speaker: "s2is1",
which is more terse than the symbolic form and no information is lost
because of _context_. (no, pure symbolism cannot do away with context) You
know what a 'ball' is don't you? But in symbols, it's something like
a^2+b^2+c^2=d with some elaborate coordinate system and an arcana of
presumptions.

I suggest that you go to www.perl.com and read Larry's speeches of perl
conf. Anyone will do.

I wrote:
>>It really depends on who's doing the
>>reading. If you are a math guy, then perhaps symbols is your thing. Most of
>>us would prefer English. Legibility is purely subjective.

u wrote:
> If I wanted to understand the graduate math text, I'd make the effort to learn
> the symbols and whatever other background information I needed.  English would
> be needed in acquiring this information, but after that it would be a huge
> hinderance to manipulate ideas using English.

Pissss me!

Granted that a new language like math symbolism might have little
theoretical advantage down the road for some theoretical cleanness,
precision, or maybe expressiveness, but English has been used for literally
eons. The inertia is strong, the legacy is golden, and no one can stop it.
As I said before, it has also evolved into perfection. People will use
English and people will prefer English over any arcane symbolism. It is
egregious a crime that math text books are littered with arcane symbols
instead of plain English. It is why no one in the world likes math.

One thing with English is that it has not evolved into a computing language
yet, thus Perl comes to the rescue. Here's a little history lesson for you:

Larry wanted to process
some text as his job requires at Jet Propulsion Lab. However, with all
unix's power and piping shit with sed and awk and baggage but he couldn't do
it well. Therefore, following the unix tradition, he quickly hacked up his
own language and put it on the net thinking that he's done human kind a big
favor. Since unix community consists of largely of morons, they quickly
picked up Larry's tool without much decision process. Thus, it gradually
rolls into a snow ball. Perl's success is a direct result of democracy.

As a hack (by design), the early Perl is not what we know it today. It does
not have a module system, no OOP, and lacks many of the language features of
'Perl 5'. However, by the ingenious notion of evolution with Larry's
leadership, today we have all these features and beyond in the most diverse
consistency possible. Again, it does not force OOP down anyone's throat.
It's like a car without breaks pre-installed. The freedom of installation is
up to YOU.

Do me a favor and research on Perl history yourself.

I wrote:
>>However, the ivy tower class of buttheads insist on symbolism for math,
>>clinging to the fancy that certain ideas are better expressed in certain
>>language. They created a whole barrier of entry. You couldn't believe what
>>kind of perverted use of symbols they invent. I know because I've been there

u wrote:
> Mathematics is the invention and manipulation of symbols,  so you can
> hardly blame these guys for doing their jobs in life.

Mathematics is the invention and manipulation of symbols, eh??? You go back
to school!

Try to convince your professors to write damn math texts in plain English,
so you might get more bang out of your schooling.

I wrote:
>>On a personal note...  Do you know what a computer science degree is these
>>days? They require you understand shits like lambda calculus, logic, graph
>>theory, combinatorics, or even algorithms??

u wrote:
> Maybe at the ``ivy league'' schools. Where I studied I did all networking,
> advanced operating systems, compilers, advanced machine architectures,
> numerical analysis (which I flunked), that sort of thing.  With a big dose of
C
> hacking in all of these.  (Of course logic and algorithms as well, doh!)
>
> The studies that you describe are intended for people who are destined
> to become academics rather than software developers. To ``go on'' as they say.
> I think you simply went to the wrong school, one that didn't offer the hands
on
> systems programming and software development experience.

Perhaps Larry lives nearby your school and was able to make a better
curriculum by hegemony. Still, I think the logic and numerical analysis
courses should be completely dropped. Operating Systems courses should be
replaced by Unix Sys Admin. Networking courses should be replaced by TCP/IP
and DNS/Bind. (use Oreilly's excellent texts) The Compiler courses should be
replaced by teaching Perl. (we still need someone to implement Perl in Perl,
for nothing other than impressing some of the functional language asses.)

>advanced machine architectures

Is that a course teaching chips design? My favorites are Printos and
Torridos.

> Incidentally why would you be advocating Perl if you don't like terse
> ``mathematical'' notations? I don't get it. For the most part, Perl programs
> look like line noise to the uninitiated.  If you prefer English to terse
> symbols, shouldn't you be advocating AppleScript or something? Your outlook
> appears to be hopelessly inconsistent.

AppleScript only looks English, but does not have all the essential
qualities of natural languages. Like Python and others, it's too consistent
and ram some OOP or Object Models down your throat. Don't start me on Apple.
When it comes to Apple, they always push for useless change. In the past
years they degraded programers' social status with the oh--sooo-cute color
iMacs and G3 towers, and in September they'll have this
oh--sooo-cute-I'm-drooling iBook and AirPort technology probably semi-stolen
from unix's RFC standards. (RFC is an abbreviation for Really Fucking
Common)

As Larry has well said, Perl is a post-modern language. The language of the
New Age era.

 Xah
 xah@best.com
 http://www.best.com/~xah/PageTwo_dir/more.html
 "Perl: all unix's stupidities in one."
      -Larry Wall, from antimatter universe


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

Date: Tue, 24 Aug 1999 06:14:25 GMT
From: kaz@ashi.FootPrints.net (Kaz Kylheku)
Subject: Re: Why use Perl when we've got Python?!
Message-Id: <slrn7s4e2u.hkm.kaz@ashi.FootPrints.net>

On Mon, 23 Aug 1999 21:29:34 -0700, Xah <xah@best.com> wrote:
>I gather you are a newbie. Normally I'd just kick newbie's ass for the fun
>of it, but this time I feel magnanimous and will give you the benefit of a
>doubt.

Usenet can be entertaining, but kooks bore me.

So I guess it's that time when we sadly part with that sound that tears make
when they hit the keyboard.

It sounds a little bit like... *plonk*


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

Date: 1 Jul 99 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 1 Jul 99)
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" from
almanac@ruby.oce.orst.edu. The real FAQ, as it appeared last in the
newsgroup, can be retrieved with the request "send perl-users FAQ" from
almanac@ruby.oce.orst.edu. 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" from
almanac@ruby.oce.orst.edu. 

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 V9 Issue 627
*************************************


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