[13490] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 900 Volume: 9

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Sep 24 14:07:33 1999

Date: Fri, 24 Sep 1999 11: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)
Message-Id: <938196311-v9-i900@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Fri, 24 Sep 1999     Volume: 9 Number: 900

Today's topics:
    Re: (-d $filename) test <emschwar@rmi.net>
    Re: Arrays?!? (Kragen Sitaker)
    Re: beauty of a Y2K bug <uri@sysarch.com>
    Re: beauty of a Y2K bug <planb@newsreaders.com>
    Re: capitalisation? <aqumsieh@matrox.com>
        compiled regex problem <davidrubin@lucent.com>
    Re: CPAN modules for Windows (Nnickee)
    Re: decomposing an outline-style text body (ugly regexp <kbandes@home.com>
        Help on regex required!! e_schneider@pixelpark.com
    Re: Help on regex required!! (Kragen Sitaker)
    Re: Help on regex required!! (Larry Rosler)
        How do I monitor a Process on Win 95/98/NT <hdeshpandeNOwwSPAM@carlson.com>
    Re: How to extract data in 'groups' (Kragen Sitaker)
        I just want to remove a file!  Help! <bonoboNOhkSPAM@webtv.net>
        keys() and/or values() in %hash{x}{y}{z} (Deviant Freak)
    Re: keys() and/or values() in %hash{x}{y}{z} (Bill Moseley)
    Re: match using scalar <aqumsieh@matrox.com>
        NEWBIE QUESTION: Easy for most of you I'm sure. pctechnician@iname.com
    Re: NEWBIE QUESTION: Easy for most of you I'm sure. (Bill Moseley)
    Re: Pass by reference <tchrist@mox.perl.com>
    Re: Pass by reference (Tramm Hudson)
    Re: Pass by reference <tchrist@mox.perl.com>
    Re: Pass by reference (Kragen Sitaker)
        Perl Int'l Data Problem <jheck@xman.com>
    Re: Printing a list from the bottome to the top verses  <aqumsieh@matrox.com>
    Re: Problem with param() and CGI kooroshv@my-deja.com
        Question from a newbie <wimpie@hld.cx>
    Re: REQ: tell-a-friend script (J. Moreno)
    Re: REQ: tell-a-friend script <tchrist@mox.perl.com>
    Re: REQ: tell-a-friend script <laurensmith@sprynet.com>
    Re: REQ: tell-a-friend script (J. Moreno)
        Who is Matt Wright and Why is He Dangerous? <jeff@jhmi.edu>
    Re: Who is Matt Wright and Why is He Dangerous? (Kragen Sitaker)
    Re: Who is Matt Wright and Why is He Dangerous? <ehpoole@ingress.com>
        Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)

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

Date: 24 Sep 1999 11:49:02 -0600
From: Eric The Read <emschwar@rmi.net>
Subject: Re: (-d $filename) test
Message-Id: <xkfogesi4j5.fsf@valdemar.col.hp.com>

vasile@club-internet.fr (Vasile Calmatui) writes:
> lr@hpl.hp.com (Larry Rosler) wrote:
> >> You mean Win32 Perl "understand ...", isn't it ?
> >
> >No.  It means the Windows/DOS file systems understand ...
> 
> I'm afraid it's not true...
> 
>   C:\>dir temp/
>   Commutateur non valide - /
> 
> In french it means "invalid switch".

That is the command interpreter.  Which I explicitly said has that
problem.  The OS itself actually uses / internally-- it's just that,
for reasons that have never made any sense to anyone with a brain the
size of a walnut (or larger), Micro$oft decided that it would use \ to
separate directory elements in the shell.

> And you think that if you make in C an fopen("c:/temp/foo.txt")
> it'll work ?

Yep.

> I doubt...

Hint: Have you tried it?

-=Eric


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

Date: Fri, 24 Sep 1999 16:22:47 GMT
From: kragen@dnaco.net (Kragen Sitaker)
Subject: Re: Arrays?!?
Message-Id: <rzNG3.28527$I6.497867@typ12.nn.bcandid.com>

In article <Pine.SOL.3.91.990924112417.15391A-100000@godzilla6.acpub.duke.edu>,
Robert Campbell  <choco@duke.edu> wrote:
>I am having problems with part 1.  How do i get the first field of the 
>... nevermind.  I was going to say "How do i get the first field of the 
>next to last record but the last record is put in there by the program so 
>i can get the next to last record which is the last record until i print, 
>as long as i get it b4 i print the last record to the file.  But if i 
>wanted to get the last to next record.  How would i do that?

Well, the universal way to do this is something like this:
1. while (reading the next record into variable $blah succeeds)  { do nothing }
2. get the last field from the record stored in variable $blah  (same as 3a 
	below)

In some cases, you may be able to instead do:
1a. go to the end of the file
2a. read the record into variable $blah.
3a. get the last field from the record stored in variable $blah

Since I don't know what format your file is stored in, I don't know if
you can do 1a and 2a or not, and I don't know how to do (1) or (2).
I'd be happy to help you figure out how to do those if you can tell me
what your file looks like, though.
-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Thu Sep 23 1999
46 days until the Internet stock bubble bursts on Monday, 1999-11-08.
<URL:http://www.pobox.com/~kragen/bubble.html>


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

Date: 24 Sep 1999 12:08:44 -0400
From: Uri Guttman <uri@sysarch.com>
Subject: Re: beauty of a Y2K bug
Message-Id: <x7iu502sxf.fsf@home.sysarch.com>

>>>>> "KS" == Kragen Sitaker <kragen@dnaco.net> writes:

  KS> Someone claimed that Larry had a "19$year" bug in an earlier edition of
  KS> the Camel.  (Can anyone confirm or deny?)

look in the eg/ directory of perl's source. it has a bunch of mediocre
and VERY (look at the dates) old scripts most written by larry. there
are y2k bugs in some date outputs there. easy to find.

uri

-- 
Uri Guttman  -----------------  SYStems ARCHitecture and Software Engineering
uri@sysarch.com  ---------------------------  Perl, Internet, UNIX Consulting
Have Perl, Will Travel  -----------------------------  http://www.sysarch.com
The Best Search Engine on the Net -------------  http://www.northernlight.com
"F**king Windows 98", said the general in South Park before shooting Bill.


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

Date: Fri, 24 Sep 1999 13:27:48 -0400
From: "J. Moreno" <planb@newsreaders.com>
Subject: Re: beauty of a Y2K bug
Message-Id: <240919991327485399%planb@newsreaders.com>

In article <FIK5Hq.EG@csc.liv.ac.uk>, I.J. Garlick <ijg@connect.org.uk>
wrote:

> In article <37EAC19D.EC799F75@mail.cor.epa.gov>,
> David Cassell <cassell@mail.cor.epa.gov> writes:
> > Hmmm.  Maybe I'll take a break from this NG starting 12/29/99
> > for about two weeks.  mrbog@my-deja.com can answer all those
> > questions in my stead.  Okay?
> 
> You took the thought right out of my mind David.
> 
> You can just see it. We all trudge into work or sit down bleary eyed at
> our terminals after 3 days of celabration and pear confusedly at our news
> readers and wonder why it's taking 10 minures to respond.
> 
> The answer will dawn on us just as the numbers on our subscibed news
> groups come up.
> 
> comp.lang.perl.misc         14,567,431
> comp.lang.perl.mod             233,933
> 
> A month long holiday is sounding good but probably not long enough to
> avoid any of the impending idiocy that si about to descend on us in
> what, 98 days? 99, 100. I give it about a week before we will see the
> full imapct.

Nothing so extreme is necessary, just a good killfile (and I think
you're wrong about a week -- probably most of them won't even notice it
for anywhere from a 1-6 months).

As for when it'll be, see sig...

-- 
John Moreno
January 1, 2000: 99 days away


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

Date: Fri, 24 Sep 1999 11:10:10 -0400
From: Ala Qumsieh <aqumsieh@matrox.com>
Subject: Re: capitalisation?
Message-Id: <x3yg104wdkd.fsf@tigre.matrox.com>


"Daniel Vesma" <daniel@vesma.co.uk> writes:

>     if($foo =~ /$blah/)

> Is it possible to make ignore case? e.g. if $foo were "jeff", it would print
> "YAY" when $blah was Jeff, jeff, JefF...

Yes. The answer lies in the very first page of perlre. Have a look at
it and be enlightened.

--Ala

PS. Clearly you didn't read the docs. Please try not to post again
before attempting to find the answer yourself. Most of your questions
are answered in the FAQs and docs that come with your Perl
distribution. Type 'perldoc perldoc' for more info.



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

Date: Fri, 24 Sep 1999 13:18:49 -0400
From: David L Rubin <davidrubin@lucent.com>
Subject: compiled regex problem
Message-Id: <37EBB279.39F48FB@lucent.com>

I'm confused about the "compiled regular expreseion problem."

(http://perl.apache.org/dist/mod_perl_traps.html#COMPILED_REGULAR_EXPRESSIONS)

My Apache server is running a mod_perl script which does the following:
I use the url www.myserver.com/script?url=<site> which invokes my script. The
script retrieves
content from <site>, processes the content there using some regexs, and returns
some content to me.

1. There is a global variable %regex_tab which contains regular expressions for
each site I might
specify.

2. There is a function process() which looks as follows

sub process
{
	my ($content, $site) = @_;
	my @results=();

	my $re = $regex_tab{$site};   
	while ($content =~ /$re/og) {
		push @results, {ALPHA => $1, BETA => $2, GAMMA => $3};
	}
	return @results;
}

So, my question is, do I have to worry about the compiled regular expression
problem?
I'm resetting $re to something (apparantly) different upon each invocation not
to mention
the fact that $re is lexically scoped within a function. But, if this does not
constitute
an instance of "the problem," what does?

	david

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
David L Rubin			      f 1.973.581.6665 v 1.973.386.8598
Lucent Technologies, NJ0117 14J-211, 67 Whippany Rd, Whippany, NJ 07981


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

Date: Fri, 24 Sep 1999 17:59:03 GMT
From: nnickee@nnickee.com (Nnickee)
Subject: Re: CPAN modules for Windows
Message-Id: <37ebb9a1.93941076@news.nohayman.net>

what luck..
I wrote a perl script for windows/activestate perl that works *with*
ppm to search for and install all currently uninstalled packages (I'm
a package junkie) ... anyone who wants to give it a try, I've posted
the text at 
http://www.nnickee.com/ppm-plus.txt

comments/suggestions via email (my news server is *really* bad) are
most welcome!

Nnickee


On 17 Sep 1999 11:39:18 +0100, Jonathan Stowe
<gellyfish@gellyfish.com> wrote:

>Shardendu Pandey <pandey@my-deja.com> wrote:
>> Hi,
>> I am exploring perl on Windows and am
>> interested in knowing whether there
>> is equivalent of CPAN libraries on
>> Windows.
>> 
>
>If you are using the Activestate Perl then you can get a large of number
>of the most useful Modules using the PPM (Perl Package Manager) utility
>which will take care of the downloading and installation of the modules -
>there are also alternative repositories with one or two more modules
>available.
>
>You can read about PPM in the Activestate documentation.
>
>/J\


*~*~*~*~*~*
My newsserver seriously sux, so if you reply
and if you want me to see your reply
kindly cc me
*~*~*~*~*~*


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

Date: Fri, 24 Sep 1999 13:59:37 -0400
From: Kenneth Bandes <kbandes@home.com>
Subject: Re: decomposing an outline-style text body (ugly regexp question)
Message-Id: <37EBBC09.E8897FED@home.com>

George Willman wrote:
> That being said... is what I'm doing even a good idea since I have to go and
> now decompose each of the Event sub headings?  The primary database table
> will be stuffed with the event title, paragraph number and sub paragraph
> letter of an item and then the contents of that item.  So an example record
> would be [Foundation of Rome,1,A,*contents of A*] and so forth.

Doesn't seem like such a bad idea to me.  In theory you could write 
a much more complicated regexp that would pick out the events AND
subheadings in one go (the theory in question being that there are
no recursive type syntax elements that would force you to go
to a parser rather than a regexp, as you'd have with nested brackets
or the like) but why give yourself the headache?  Besides, then
you'd have to pick apart the resulting array and find event
boundaries all over again (as it stands, you know every 3 elements
make up an event).

It should be pretty easy now to pick apart each entry into its 
subheadings.  Performance shouldn't be an issue at 1 meg/day -
probably take a couple of seconds to parse that amount of data.  
Perl is really fast for stuff like this.

I'd go with it.  After it's working you'll think of ways to make
it more elegant (and general).

Ken Bandes


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

Date: Fri, 24 Sep 1999 16:04:23 GMT
From: e_schneider@pixelpark.com
Subject: Help on regex required!!
Message-Id: <7sg7ds$96m$1@nnrp1.deja.com>

Hi,

I'm looking for a regex doing the following: It should match "," but not
"%,"

Reason: I want to use it in a split where a string contains name/value
pairs separated by ",". When a value itself contains a "," it has to be
escaped (for example by preceeding "%".
So the string

  name=Eckhard%, developer,company=Pixelpark
shall be split to
  name=Eckhard%, developer
and
  company=Pixelpark

I know I could solve this by replacing %, with a string, then splitting
and then replacing this string by , but there must be an elegant way to
do it...
Any ideas?

Thanks in advance
Eckhard


Sent via Deja.com http://www.deja.com/
Before you buy.


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

Date: Fri, 24 Sep 1999 16:32:05 GMT
From: kragen@dnaco.net (Kragen Sitaker)
Subject: Re: Help on regex required!!
Message-Id: <9ING3.28536$I6.506970@typ12.nn.bcandid.com>

In article <7sg7ds$96m$1@nnrp1.deja.com>,  <e_schneider@pixelpark.com> wrote:
>I'm looking for a regex doing the following: It should match "," but not
>"%,"

That is, it should match , except when preceded by %?

You can use lookbehind, or you can parse the string into fields without
using lookbehind (although not using split), but . . .

>Reason: I want to use it in a split where a string contains name/value
>pairs separated by ",". When a value itself contains a "," it has to be
>escaped (for example by preceeding "%".
>So the string
>
>  name=Eckhard%, developer,company=Pixelpark
>shall be split to
>  name=Eckhard%, developer
>and
>  company=Pixelpark
>
>I know I could solve this by replacing %, with a string, then splitting
>and then replacing this string by , but there must be an elegant way to
>do it...

You can do it with a hellish regex.  What happens when a value itself
contains a "%"?  Does it get encoded as "%p" or something?  Or does it
get encoded as "%%", as per tradition?  If the latter, matching ,
except when preceded by % won't work, because %%,%%,%% should have
three fields, each containing a %, but both commas are preceded by %'s.

>Sent via Deja.com http://www.deja.com/
>Before you buy.

What does that mean?
-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Thu Sep 23 1999
46 days until the Internet stock bubble bursts on Monday, 1999-11-08.
<URL:http://www.pobox.com/~kragen/bubble.html>


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

Date: Fri, 24 Sep 1999 10:02:30 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: Help on regex required!!
Message-Id: <MPG.12554e7dc8529411989fd5@nntp.hpl.hp.com>

[Posted and a courtesy copy mailed.]

In article <7sg7ds$96m$1@nnrp1.deja.com> on Fri, 24 Sep 1999 16:04:23 
GMT, e_schneider@pixelpark.com <e_schneider@pixelpark.com> says...
> I'm looking for a regex doing the following: It should match "," but not
> "%,"
> 
> Reason: I want to use it in a split where a string contains name/value
> pairs separated by ",". When a value itself contains a "," it has to be
> escaped (for example by preceeding "%".
> So the string
> 
>   name=Eckhard%, developer,company=Pixelpark
> shall be split to
>   name=Eckhard%, developer
> and
>   company=Pixelpark
> 
> I know I could solve this by replacing %, with a string, then splitting
> and then replacing this string by , but there must be an elegant way to
> do it...
> Any ideas?

Assuming perl 5.005, split using negative look-behind:

     /(?<!%),/

perldoc perlre

-- 
(Just Another Larry) Rosler
Hewlett-Packard Laboratories
http://www.hpl.hp.com/personal/Larry_Rosler/
lr@hpl.hp.com


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

Date: Fri, 24 Sep 1999 10:03:48 -0700
From: Harish <hdeshpandeNOwwSPAM@carlson.com>
Subject: How do I monitor a Process on Win 95/98/NT
Message-Id: <034f2f50.02db076c@usw-ex0108-059.remarq.com>

Hi,

   From a perl script I would like to start a command and 
monitor its status.  How can this be done?

   Thanks in advance and good day.

Harish

* Sent from RemarQ http://www.remarq.com The Internet's Discussion Network *
The fastest and easiest way to search and participate in Usenet - Free!



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

Date: Fri, 24 Sep 1999 16:33:33 GMT
From: kragen@dnaco.net (Kragen Sitaker)
Subject: Re: How to extract data in 'groups'
Message-Id: <xJNG3.28538$I6.494083@typ12.nn.bcandid.com>

In article <37E911D4.836900A0@ccrs.nrcanDOTgc.ca>,
Tom Kralidis  <tom.kralidis@ccrs.nrcanDOTgc.ca> wrote:
>I'm writing a script to grab values from a text file.  My problem is
>when I come upon a certain string (eg. TIME), I must extract values from
>fields that I've assigned to variables until I reach the TIME string
>again.  eg.

Did you get your question answered satisfactorily?


-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Thu Sep 23 1999
46 days until the Internet stock bubble bursts on Monday, 1999-11-08.
<URL:http://www.pobox.com/~kragen/bubble.html>


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

Date: Fri, 24 Sep 1999 10:34:01 -0700
From: bonobo <bonoboNOhkSPAM@webtv.net>
Subject: I just want to remove a file!  Help!
Message-Id: <12bbc47e.3e9c7d03@usw-ex0107-051.remarq.com>

I'm trying to remove a file via a setuid perl script:

#!/usr/bin/perl -T
for (@ARGV) {
    if ($_ =~ /^([-\@\w.]+)$/) {
        $data = $1;                     # $data is untainted
    } else {
        die "Bad data in $data";        # log this somewhere
    }
    unlink $data;
}

The file will be something like: /var/spool/mail/test
I am having no luck at all finding the right regular
expression to clean this data.  Please send suggestions to:
jward@cmg.net if you can help me.

Thanks in advance,

James



* Sent from RemarQ http://www.remarq.com The Internet's Discussion Network *
The fastest and easiest way to search and participate in Usenet - Free!



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

Date: Fri, 24 Sep 1999 16:41:46 GMT
From: DeviantFreak@yahoo.com (Deviant Freak)
Subject: keys() and/or values() in %hash{x}{y}{z}
Message-Id: <37eba21f.41590730@nntp.ix.netcom.com>

I've torn apart the manpages and every Perl book in sight and can't
seem to find an answer to this one.

I have a multidimensional %hash kinda like this (+/- 200k records, and
about):

$hash{'record 1'}{'name'} = 'John Doe'
$hash{'record 1'}{'city'} = 'San Francisco'
$hash{'record 1'}{'state'} = 'CA'
$hash{'record 1'}{'kids'} = [ 'Johnny:5', 'Mary:3', 'Baby:1' ]

$hash{'record 2'}{'name'} = 'Jane Smith'
$hash{'record 2'}{'city'} = 'Albany'
$hash{'record 2'}{'state'} = 'NY'
$hash{'record 2'}{'pets'} = [ 'Rover:dog' ]
$hash{'record 2'}{'hobbies'} = [ 'skiing', 'diving' ]

Note: Not all records have the same fields, and some fields contain
lists, and the number of items in the list varies.

Problems to solve:

1. I want to be able to determine  which "sub-keys" exist in each
{record}; i.e., something like

	keys(%hash{'record 1'})

returning the list ['name', 'city', 'state', 'kids'].

2. I want to be able to list the {record}s that contain the {pets}
field.

3. I need to be able to list the {record}s where the {state} field
equals a particular value, like 'NY'.

4. For fields that contain lists, I need to be able to determine how
many items are in the list, probably using # or scalar, but I can't
seem to hunt down the correct syntax.

What I'm *really* searching for is an implementation of keys() and
values() for multidimensional hashes, *not* a foreach through 200,000
or more records. (Speed is everything for this job.)

Any pointers to answers on any of the above would be *deeply*
appreciated.

-DF-


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

Date: Fri, 24 Sep 1999 10:04:40 -0700
From: moseley@best.com (Bill Moseley)
Subject: Re: keys() and/or values() in %hash{x}{y}{z}
Message-Id: <MPG.12554f08936f4be6989780@nntp1.ba.best.com>

Deviant Freak (DeviantFreak@yahoo.com) seems to say...
> I've torn apart the manpages and every Perl book in sight and can't
> seem to find an answer to this one.

Oh, missed one.

perldoc perldsc

> $hash{'record 1'}{'name'} = 'John Doe'
> $hash{'record 1'}{'city'} = 'San Francisco'
> $hash{'record 1'}{'state'} = 'CA'
> $hash{'record 1'}{'kids'} = [ 'Johnny:5', 'Mary:3', 'Baby:1' ]

> Problems to solve:
> 	keys(%hash{'record 1'})

syntax error;  keys requres a hash  $hash{'record 1'} is a reference to 
a hash.  Dereference it!

keys %{ $hash{'record 1'} };


> 2. I want to be able to list the {record}s that contain the {pets}
> field.

grep?


> 3. I need to be able to list the {record}s where the {state} field
> equals a particular value, like 'NY'.

grep?

> 4. For fields that contain lists, I need to be able to determine how
> many items are in the list, probably using # or scalar, but I can't
> seem to hunt down the correct syntax.

# is used for comments....

keys in scalar context will give you a number.


> What I'm *really* searching for is an implementation of keys() and
> values() for multidimensional hashes, *not* a foreach through 200,000
> or more records. (Speed is everything for this job.)
> 
> Any pointers to answers on any of the above would be *deeply*
> appreciated.

perldoc perldsc

-- 
Bill Moseley mailto:moseley@best.com
pls note the one line sig, not counting this one.


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

Date: Fri, 24 Sep 1999 11:07:27 -0400
From: Ala Qumsieh <aqumsieh@matrox.com>
Subject: Re: match using scalar
Message-Id: <x3yhfkkwdow.fsf@tigre.matrox.com>


"Dann-o" <druttle@gb.pepperl-fuchs.com> writes:

> I'm trying to use the match function using a scalar rather than a string,
> without success.  $country is the value of a field from a web form.

What is the value of $country? What does @subs contain? What are
the results of your trials?

> while ($match == 0) {
> foreach $Line (@subs) {if ($Line =~ m/$country/) {
> $test = $Line;
> $match = 1;
> }
> }
> }

Have you ever thought of formatting your code to make it easier to
read? I urge you to have a look at the perlstyle docs for some good
pointers.

> Is there a way round this?

You can use a variable as your search string:

% perl -wl
my @subs = qw/this is a test/;
my $match = 0;
$country = 't';

while ($match == 0) {
	foreach my $Line (@subs) {
		if ($Line =~ m/$country/) {
			$match = 1;
		}
	}
}
print $match;
__END__
1

Have a closer look at perlre for more info.

--Ala



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

Date: Fri, 24 Sep 1999 16:06:53 GMT
From: pctechnician@iname.com
Subject: NEWBIE QUESTION: Easy for most of you I'm sure.
Message-Id: <7sg7ih$997$1@nnrp1.deja.com>

I am very, very new to cgi so if I seem like I don't know what I'm doing
then that's because I don't.  I'm trying to learn how to take data that
was entered into a html form and have a script write that info to a
text file. The problem is that I don't know what variable that the info
from the html should be referenced as.  Here is what I have, which at
this point just opens the text file saves "Username:" and "Password:"
and that's it.  I want to make it so that I can enter a username and
password into the html and then have the cgi script write "Username:
whateverItype", "Password: whateverItype".  Please help.  You can post
here and also email me at paragon2000@hotmail.com .  Thanks in advance.

#! /usr/bin/perl

# userpass.cgi
# version 1.0
#
# Copyright paragon2000@hotmail.com
# set to userpass.txt

$userpass = "userpass.txt";

# Below is where I'm trying to let this script know to pull from the
html
file
# The field names from the html are saved as Username and Password
$user = "$Username";
$pass = "$Password";

print "Content-type: text/plain\n\n ";
open (USERPASS, ">>$userpass");
print USERPASS "User: $user\n";
print USERPASS "Pass: $pass\n";
close (USERPASS);
exit;


Sent via Deja.com http://www.deja.com/
Before you buy.


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

Date: Fri, 24 Sep 1999 09:42:20 -0700
From: moseley@best.com (Bill Moseley)
Subject: Re: NEWBIE QUESTION: Easy for most of you I'm sure.
Message-Id: <MPG.125549c216ff75898977f@nntp1.ba.best.com>

pctechnician@iname.com (pctechnician@iname.com) seems to say...
> I am very, very new to cgi so if I seem like I don't know what I'm doing
> then that's because I don't.

CGI question should be addressed to the CGI group.

BUT not until you have done your homework.

> #! /usr/bin/perl

Use

#! /usr/bin/perl -w
use strict;

> # Below is where I'm trying to let this script know to pull from the
> html
> file

type 
perldoc CGI

at your shell prompt.

and start reading.  Then search the web for CGI FAQs.  They will answer 
your questions FAR faster than usenet can.


-- 
Bill Moseley mailto:moseley@best.com
pls note the one line sig, not counting this one.


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

Date: 24 Sep 1999 10:17:35 -0700
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: Pass by reference
Message-Id: <37eba41f@cs.colorado.edu>

     [courtesy cc of this posting mailed to cited author]

In comp.lang.perl.misc, 
    lee.lindley@viasystems.com writes:
::>	Aliases happen to be quite a bit faster than references, because
::>	they don't need to do any dereferencing.  Consider:
:
:I was bitten by that same delusion for a while last year and sprinkled
:those typeglobs everywhere.  

It's not a myth.  It's true that accessing data through aliases works
faster than doing so through references.

--tom
-- 
> (It's sorta like sed, but not.  It's sorta like awk, but not.  etc.)
  Guilty as charged.  Perl is happily ugly, and happily derivative.
		--Larry Wall in <1992Aug26.184221.29627@netlabs.com>


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

Date: 24 Sep 1999 09:45:47 -0600
From: hudson@swcp.com (Tramm Hudson)
Subject: Re: Pass by reference
Message-Id: <7sg6bb$65s@llama.swcp.com>
Keywords: unnecessary benchmarking, gratuitous globing, excessive refering

[posted and cc'd to Tom C]

Tom Christiansen  <tchrist@mox.perl.com> wrote:
>     hudson@swcp.com (Tramm Hudson) writes:
 ...
> :timethese( $count, {
> :        Globs   => sub { no strict;  my $i=10 ; *j=\$i   ; $j++; },
> :        Refs    => sub { use strict; my $i=10 ; my $r=\$i; $$r++; },
> :});
> :__END__
> :
> :Benchmark: timing 1048576 iterations of Globs, Refs...
> :     Globs: 11 wallclock secs (11.60 usr +  0.00 sys = 11.60 CPU)
> :      Refs:  9 wallclock secs ( 9.90 usr +  0.01 sys =  9.91 CPU)
 ...
> Nope, your benchmark is flawed.
> 
>     use Benchmark;
>     $i = 10;
>     *ia = $ir = \$i;
>     my $count = shift || 1<<20;
>     timethese $count => {
> 	    Globs   => sub { $ia++; },
> 	    Refs    => sub { $$ir++; },
>     };            
> 
> Reveals:
> 
>     Benchmark: timing 1048576 iterations of Globs, Refs...
> 	 Globs:  2 wallclock secs ( 2.87 usr +  0.00 sys =  2.87 CPU)
> 	  Refs:  3 wallclock secs ( 3.28 usr +  0.00 sys =  3.28 CPU)

Ok, my test included the cost of creating the type glob and
taking the reference.  Your machine appears to be roughly twice as
fast as mine -- the two new tests took 5 and 6 seconds, respectively.

So let's add just a few more tests to gather information on the cost
of assigning to a glob or reference:

#!/usr/bin/perl -w
use Benchmark;
my $global_i = 10;
my $count = shift || 1<<20;
timethese( $count, {
        TakeRef => sub { use strict;       my $r = \$global_i },
        TakeGlob => sub { no strict; *local_glob = \$global_i },
});
__END__

Benchmark: timing 1048576 iterations of TakeGlob, TakeRef...
  TakeGlob:  9 wallclock secs ( 7.39 usr +  0.00 sys =  7.39 CPU)
   TakeRef:  7 wallclock secs ( 6.44 usr +  0.00 sys =  6.44 CPU)

Assigning to the glob is more expensive than the reference.  Which
explains the result of my previous test.  So, in summary:

	- The 'local *array' technique doesn't work with strict
	- Assigning to the glob is slower than the reference, but
	- It is faster for dereferences
	- The magnitude of differences is quite small -- one second
	  per million dereferences

Any more comments?  I think the horse is dead now.

Tramm
-- 
  o   hudson@swcp.com                 tbhudso@cs.sandia.gov   O___|   
 /|\  http://www.swcp.com/~hudson/          H 505.323.38.81   /\  \_  
 <<   KC5RNF @ N5YYF.NM.AMPR.ORG            W 505.284.24.32   \ \/\_\  
  0                                                            U \_  | 


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

Date: 24 Sep 1999 10:46:27 -0700
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: Pass by reference
Message-Id: <37ebaae3@cs.colorado.edu>
Keywords: unnecessary benchmarking, gratuitous globing, excessive refering

     [courtesy cc of this posting mailed to cited author]

In comp.lang.perl.misc, 
    hudson@swcp.com (Tramm Hudson) writes:
:Ok, my test included the cost of creating the type glob and
:taking the reference.  Your machine appears to be roughly twice as
:fast as mine -- the two new tests took 5 and 6 seconds, respectively.

:So let's add just a few more tests to gather information on the cost
:of assigning to a glob or reference:

This is not very interesting.  One seldom assigns to something as 
many times as accesses it, and even so, this is the wrong measurement.

The simple fact is that data accessed directly is faster to get
at than data accessed *indirectly*.  That means that this:

    $$var_reference = "Peter";

is slower than 

    $var_alias = "Peter";

given

    *var_alias = $var_reference = \$var;

I think you'll see why this is impossible to dispute.  You have to do
one more lookup on the indirection case.  This always takes some amount
of time.  Therefore, not doing so always takes less time than doing so.

The fact that it takes more time at run-time to set up the alias than
it does to set up the reference is usually greatly overshadowed by the
amortized access costs.   

As for use strict, please don't get too religious here.  Whenever you
need to access something packagewise, using strict refs is simply wrong.
Remember that Package == Symbol Table.  If you can't access the symbol
table, you can't talk about packages indirectly, which means you can't do
imports and exports, you can't do new or local functions or methods, etc.

--tom
-- 
    "The purpose of most computer languages is to lengthen your resume by
    a word and a comma." --Larry Wall


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

Date: Fri, 24 Sep 1999 16:47:04 GMT
From: kragen@dnaco.net (Kragen Sitaker)
Subject: Re: Pass by reference
Message-Id: <cWNG3.28558$I6.509426@typ12.nn.bcandid.com>
Keywords: unnecessary benchmarking, gratuitous globing, excessive refering

In article <7sg6bb$65s@llama.swcp.com>, Tramm Hudson <hudson@swcp.com> wrote:
>#!/usr/bin/perl -w
>use Benchmark;
>my $global_i = 10;
>my $count = shift || 1<<20;
>timethese( $count, {
>        TakeRef => sub { use strict;       my $r = \$global_i },
>        TakeGlob => sub { no strict; *local_glob = \$global_i },
>});
>__END__

Tom said your benchmark was flawed; he didn't say *why*.  Here's my
guess at why:

#!/usr/bin/perl -w
use strict;
use Benchmark;
timethese(1000000, {
	'null routine' => sub { },
	'use strict' => sub { use strict },
	'no strict' => sub { no strict }
	}
);

Benchmark: timing 1000000 iterations of no strict, null routine, use strict...
 no strict: 16 wallclock secs (14.99 usr + -0.01 sys = 14.98 CPU)
null routine: 14 wallclock secs (12.37 usr +  0.00 sys = 12.37 CPU)
use strict: 19 wallclock secs (14.03 usr +  0.00 sys = 14.03 CPU)

In other words, 'use strict' and 'no strict' take some time to execute.
-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Thu Sep 23 1999
46 days until the Internet stock bubble bursts on Monday, 1999-11-08.
<URL:http://www.pobox.com/~kragen/bubble.html>


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

Date: Fri, 24 Sep 1999 10:53:41 -0700
From: Jill Heck <jheck@xman.com>
Subject: Perl Int'l Data Problem
Message-Id: <37EBBAA5.7380C160@xman.com>

Hi,

I'm not sure where to post this, so I'm giving it a shot here. I need to
move some multi-language data around and I want to determine where it is
getting corrupted. Here's what I've got:

A BerkeleyDB database is created and the content stored is in many
languages. Currently, there is a Perl program that can connect to the db
and display the results in a browser. All of the content that went into
the db has been encoded with the appropriate charset (i.e., Japanese
content was encoded with SJIS).

I have another Perl program that reads everything from the db and
creates a file of the keys and the values. This program does nothing
more than read each key and value and write it to standard out or pipes
it into a file if I choose to do so. 

It's at this point I need to know if the data I retrieve is actually
still encoded or if it becomes encoded using the platform's default
encoding when the file is created. 

I know I have corrupted data because I can't get the Japanese characters
to display properly when I read the new file's content in another
application. However, I am using Java at that point, reading the file as
bytes, and creating encoded strings. I long suspected that the Java app
was corrupting the data, but I'm now wondering if I am working with
corrupted data.

I have not been able to get the Java libraries installed so I can read
from the db directly which was my original intention. I'm thinking now I
either have to do that or I have to edit the Perl program that reads
from the db and before it creates the file, it encodes the data in the
proper format.

I hope this makes sense! Thanks for your help!

Jill Heck
MiX media


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

Date: Fri, 24 Sep 1999 11:02:11 -0400
From: Ala Qumsieh <aqumsieh@matrox.com>
Subject: Re: Printing a list from the bottome to the top verses top to bottom.
Message-Id: <x3yiu50wdxo.fsf@tigre.matrox.com>


"Matt King" <mattking@techie.com> writes:

> How would can I print a list 'backwords'? For example I have the following:
> 
> open FH, "<list.txt";
> @lines=<FH>;
> close(FH);
> 
> foreach $line(@lines)
> {
>   print "$line\n";
> }

Maybe you would like to reverse() the array @lines before you iterate
through it.

> The file exists, so the error checking isn't there (yes, I know I should add
> it just incase). Any way, how do I make this run from the bottom to the top
> of the file verses from the top to the bottom (as this currently is). Also
> how can I make the loop abort if a 'magic' number (say 12) occurs, but still
> send the output until the number occurs. For example:
> 
> foreach $line(@lines)
> {
>   print "$line\n";
>   $count++;
>   if (count > 12) { _abort_ };
> }

You need to read more on "Loop Control" in the perlsyn docs. Pay
attention to the last() command.

HTH,
--Ala



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

Date: Fri, 24 Sep 1999 16:26:07 GMT
From: kooroshv@my-deja.com
Subject: Re: Problem with param() and CGI
Message-Id: <7sg8md$a77$1@nnrp1.deja.com>

According to the book "Official Guide to Programming with CGI.pm" page
260, when you push the submit button, its name is send as part of the
form. In your startpage, you don't have anything, but the submit button,
so you just get the name. If my guess is correct, you should get
'Neuen Eintrag erstellen' when print the value of
param('Neuen Eintrag erstellen'). Basicly, CGI.pm is letting you know
that you pushed this submit button.
If I am right, my suggestion is to modify you program to something like:

if ( defined(param('Neuen Eintrag erstellen')) ) {
  #Coming from start page.
} else {
  #Coming from main page.
}

In article <37EB3820.A184E699@gmx.de>,
  m.scheferhoff@gmx.de wrote:
> Hello,
>
> my situation:
> I have a startpage with buttons.
>
> print   $cgiobj->startform(     -method=>"get",
>
> -action=>"/cgi-bin/nntp/new_posting.cgi");
> print   $cgiobj->submit(-name=>"Neuen Eintrag erstellen");
> print   $cgiobj->endform;
>
> Pressing one button I "jump" to a cgi script which is a form with
> several textfields, boxes and upload-fields. At the bottom of my cgi
> form page I have a submit buttom which should serve my: if (param())
> with values.
>
> My first problem is that it seems, that a param is submitted by
pressing
> the button on my startpage so that my program runs directly in the
> if-loop.
>
> Does anybody know how to delete the submitted parameters?
>
> Thanks for your help.
>
> Michael
>
>


Sent via Deja.com http://www.deja.com/
Before you buy.


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

Date: Fri, 24 Sep 1999 19:22:36 +0200
From: "Wimpie" <wimpie@hld.cx>
Subject: Question from a newbie
Message-Id: <7sgbn0$t8d$1@news.news-service.com>

Hello everybody,

How can i put the variables from a html form into my perl script??

Can somebody help me?

Greetings,

Michael

I tried it with:

HTML script:
<html><head><title>Test</title></head>
<body>
<form action="http://www.hld.cx/cgi-bin/perl/test.cgi">
 <input type="text" name="naam" value="Hoe heet je?">
 <input type="submit" value="Opsturen">
</form>
</body>
</html>

PERL script:

#!/usr/bin/perl
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@naam_waarde_paar = split(/&/, $buffer);
#!/usr/bin/perl
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@naam_waarde_paar = split(/&/, $buffer);
foreach $naam_waarde_paar (@naam_waarde_paar)
{
($name, $value) = split(/=/, $naam_waarde_paar);
      $value =~ tr/+/ /;
      $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
      $value =~ s/<!--(.|\n)*-->//g;
      $value =~ s/<([^>]|\n)*>//g;

      $name =~ tr/+/ /;
      $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
      $name =~ s/<!--(.|\n)*-->//g;
      $name =~ s/<([^>]|\n)*>//g;

$FORM{$name} = $value;
}

$naam = $FORM{'naam'};
print "Content-type: text/html\n\n";
print "<html>";
print "Hallo $naam\n";
print "</html>";




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

Date: Fri, 24 Sep 1999 12:26:33 -0400
From: planb@newsreaders.com (J. Moreno)
Subject: Re: REQ: tell-a-friend script
Message-Id: <1dymxyr.11n3wkvn3fh1tN@roxboro0-0052.dyn.interpath.net>

Tom Christiansen <tchrist@mox.perl.com> wrote:

>     planb@newsreaders.com (J. Moreno) writes:
> :I didn't say it wasn't intentional, it's still a typo.
> 
> Congratulations: you're an idiot.  When you learn what typo 
> means, you'll see why.

And you need to learn to read without looking at the dictionary.

You are quite fluent in English, and it should be quite clear to you
that what I meant was: it's spelled wrong, in a silly way.  There is
such a thing as context, and I don't give a damn if Wall agonized over
the decision for 2 months, calling in thousand of experts to give advice
as to what he should do, asked for divine guidance and spoke directly
with whoever is in charge of the OED -- elsif is a typo, it should be
elseif.

That's my opinion and I'm sticking to it.

-- 
John Moreno


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

Date: 24 Sep 1999 10:28:41 -0700
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: REQ: tell-a-friend script
Message-Id: <37eba6b9@cs.colorado.edu>

In comp.lang.perl.misc, planb@newsreaders.com (J. Moreno) writes:
:There is such a thing as context, and I don't give a damn if Wall
:agonized over the decision for 2 months, calling in thousand of experts
:to give advice as to what he should do, asked for divine guidance and
:spoke directly with whoever is in charge of the OED -- elsif is a typo,
:it should be elseif.

You're still an idiot.  Welcome to the killfile.  

--tom
-- 
Ask Ken.  He hates Everything.


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

Date: Fri, 24 Sep 1999 09:43:08 -0700
From: "Lauren Smith" <laurensmith@sprynet.com>
Subject: Re: REQ: tell-a-friend script
Message-Id: <7sg9nb$fi9$1@brokaw.wa.com>


J. Moreno wrote in message
<1dymxyr.11n3wkvn3fh1tN@roxboro0-0052.dyn.interpath.net>...
>Tom Christiansen <tchrist@mox.perl.com> wrote:
>elsif is a typo, it should be elseif.
>
>That's my opinion and I'm sticking to it.
You're always entitled to your opinion, I guess.

Meanwhile, I'll be over in comp.lang.c complaining about their infernal
#elif directive.

;-)
Lauren




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

Date: Fri, 24 Sep 1999 13:50:07 -0400
From: planb@newsreaders.com (J. Moreno)
Subject: Re: REQ: tell-a-friend script
Message-Id: <1dyn28f.qgc40n2gr2bpN@roxboro0-0052.dyn.interpath.net>

Lauren Smith <laurensmith@sprynet.com> wrote:

> J. Moreno wrote in message
> >Tom Christiansen <tchrist@mox.perl.com> wrote:
> >elsif is a typo, it should be elseif.
> >
> >That's my opinion and I'm sticking to it.
>
> You're always entitled to your opinion, I guess.
> 
> Meanwhile, I'll be over in comp.lang.c complaining about their infernal
> #elif directive.

Gah, that's even worse.

-- 
John Moreno


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

Date: Fri, 24 Sep 1999 16:13:47 GMT
From: Jeff S. <jeff@jhmi.edu>
Subject: Who is Matt Wright and Why is He Dangerous?
Message-Id: <7sg7vd$9li$1@nnrp1.deja.com>

Lotsa stuff about bad scripting, y2k bugs, general scripting errors, and
dangerous "script kiddies" appear all the time in this (and other
similar) newsgroup. "Matt Wright" appears invariably in one of those
type of threads. Now without trolling, i ask, who is he, why is he
dangerous, what can be done (or has anything been) to stop him?
  I am a beginning programmer who does not want to fall prey to
dangerous bugs or mistakes. I often look for scripts  on the internet to
learn from and use. How the heck am i s'posed to be able to tell a
"script kiddie" from JAPH?

anyways, i suppose these questions can be responded to in any way; maybe
I *am* just trolling.
(but what else can I do while waiting for a Mac to reboot?)

ciao ;^P

--
 | |\  /\ ---------------------------------------*
 | | | \      Jeffrey D. Silverman * jeff@jhmi.edu
\/ |/  \/ Johns Hopkins University * Baltimore, MD


Sent via Deja.com http://www.deja.com/
Before you buy.


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

Date: Fri, 24 Sep 1999 16:54:45 GMT
From: kragen@dnaco.net (Kragen Sitaker)
Subject: Re: Who is Matt Wright and Why is He Dangerous?
Message-Id: <p1OG3.28573$I6.512005@typ12.nn.bcandid.com>

In article <7sg7vd$9li$1@nnrp1.deja.com>, Jeff S.  <jeff@jhmi.edu> wrote:
>Lotsa stuff about bad scripting, y2k bugs, general scripting errors, and
>dangerous "script kiddies" appear all the time in this (and other
>similar) newsgroup. "Matt Wright" appears invariably in one of those
>type of threads. Now without trolling, i ask, who is he, why is he
>dangerous, what can be done (or has anything been) to stop him?

He's an evidently wonderful guy who wrote a bunch of CGI scripts in
Perl several years ago and has been offering them for download, for
everyone, for free, ever since, out of the goodness of his heart.

However, the scripts are very badly written, which he acknowledges, and
he is not maintaining them.  As a result, many of them contain security
holes that have been known for years, and many general bugs.

The result: lots of people download the scripts and need help fixing
the same bugs over and over again, and lots of others don't even know
the bugs are there.

Many people in this newsgroup have complained about this, and there is
presently a project underway (see http://www.mattright.com/ and the
threads in this newsgroup with CRAP and UNCRAP in the Subject:) to
replace Matt's scripts in the affections of CGI novices with solid code.

>  I am a beginning programmer who does not want to fall prey to
>dangerous bugs or mistakes. I often look for scripts  on the internet to
>learn from and use. How the heck am i s'posed to be able to tell a
>"script kiddie" from JAPH?

Hmm, I'm not sure how to answer that.
-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Thu Sep 23 1999
46 days until the Internet stock bubble bursts on Monday, 1999-11-08.
<URL:http://www.pobox.com/~kragen/bubble.html>


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

Date: Fri, 24 Sep 1999 13:16:06 -0400
From: "Ethan H. Poole" <ehpoole@ingress.com>
Subject: Re: Who is Matt Wright and Why is He Dangerous?
Message-Id: <37EBB1D6.74A3ABB8@ingress.com>

Jeff S. wrote:
> 
> Lotsa stuff about bad scripting, y2k bugs, general scripting errors, and
> dangerous "script kiddies" appear all the time in this (and other
> similar) newsgroup. "Matt Wright" appears invariably in one of those
> type of threads. Now without trolling, i ask, who is he, why is he
> dangerous, what can be done (or has anything been) to stop him?

The 'danger' in many of the MSA scripts lies in the fact that few, if any
of them are maintained.  He did make an unbelievable number of mistakes in
the scripts he wrote, but the real danger if you will is the fact that he
widely distributes these free scripts yet makes no effort to go back and
correct the many bugs in the scripts.  This is a good example of "you get
what you paid for", and that is worth keeping in mind.

The greatest risk, though, comes from the fact that the vast majority of
people downloading and implementing these scripts have no programming
knowledge of their own and, as such, are 'blissfully' ignorant of the
security risks, Y2K bugs, and the frequent total lack of proper error
handling.

The risk multiples when these novices decide to begin learning to program
by example based upon the way these scripts were written.  Pretty soon we
wind up with a lot more novice programmers writing free scripts for
distribution to the general public which contain the exact same bugs.

>   I am a beginning programmer who does not want to fall prey to
> dangerous bugs or mistakes. I often look for scripts  on the internet to
> learn from and use. How the heck am i s'posed to be able to tell a
> "script kiddie" from JAPH?

You'll learn a good bit just from reading everyone's comments in c.l.p.m
and c.i.w.a.cgi.  Just remember that there will be many novices answering
questions in addition to experienced programmers.  Also keep in mind that
even experienced programmers occassionally make mistakes.

Some of the key issues to watch out for though:

1) Always included proper error-handling in your script.  This is
especially important when receiving input from users as you can never
really predict what they will supply you.  If the error occurs in a
critical section of the script, at least make sure the script will abort
as cleanly as possible.

2) Always perform taint/bounds checking on data, particularly that
supplied by a user or their browser.

3) Avoid passing user/forms supplied data to the command line (exec,
system, open pipe, backticks, etc) wherever possible.  If you must pass
the data to the command line, test it very carefully to make certain it
only contains valid options and that no undesirable characters or options
can be passed (not every visitor is going to be your friend, some will be
up to no-good).

4) Always check to make certain that an open on a file succeeded and/or
the creation of a new file or directory succeeded.

5) Always look at your scripts from the angle of a user who will be up to
no-good.  Rest assured, any weakness you can find in your script they can
too.  What happens if the user uploads too much data?  Not enough data? 
The wrong data?  Bad data?  If there is login type security, do you
reauthenticate the user at every step or are you assuming they are valid
once they get past the login screen - assumptions can be dangerous. 
Realize that if your script is sufficiently complex that there will likely
be bugs -- be proactive in tracking them down and repairing them

6) Study and come to understand what the security risks are.  Some risks
are unavoidable, others can be largely avoided with the proper
precautions.  Avoid making assumptions about your security -- test it. 
Learn that obfuscation only complicates matters for a malicious party, it
does not offer a true defense.

7) There are many more you will learn with experience, these are just a
few that come to mind in the few minutes I had to write this (your choice
of programming language(s) will also play a role in the issues you need to
be aware of).

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


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

Date: 16 Sep 99 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 16 Sep 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.  

| NOTE: The mail to news gateway, and thus the ability to submit articles
| through this service to the newsgroup, has been removed. I do not have
| time to individually vet each article to make sure that someone isn't
| abusing the service, and I no longer have any desire to waste my time
| dealing with the campus admins when some fool complains to them about an
| article that has come through the gateway instead of complaining
| to the source.

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.

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 900
*************************************


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