[12325] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 5925 Volume: 8

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Tue Jun 8 20:07:20 1999

Date: Tue, 8 Jun 99 17:00:24 -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           Tue, 8 Jun 1999     Volume: 8 Number: 5925

Today's topics:
    Re: AARRRGGGG!!! (Alastair)
    Re: AARRRGGGG!!! <mats.pettersson@falukuriren.se>
    Re: approximate match? <rootbeer@redcat.com>
    Re: Binary File Uploading (Alastair)
    Re: C to Perl program? (Tad McClellan)
        Confused by configuraton file and 'use strict' <J.Olsen@btinternet.com>
    Re: Creating an external config file. How ? (Larry Rosler)
    Re: Discard faulty addresses using Net::SMTP <rootbeer@redcat.com>
    Re: Discard faulty addresses using Net::SMTP (Malcolm Ray)
    Re: Distribute Perl cpyofkev@my-deja.com
        encoding an N bit two's complement value as hex. <rabell@raytheon.com>
    Re: extensions, XS, Fortran <sugalskd@netserve.ous.edu>
    Re: Extracting form fields (HTML::Parser), then printin (Tad McClellan)
    Re: Extracting form fields (HTML::Parser), then printin (Eric Bohlman)
        Help needed on grouping. (Terrese Miller)
    Re: Help needed on grouping. (Andrew Johnson)
    Re: Help needed on grouping. (Eric Bohlman)
    Re: help!! perl script doesn't work (Alastair)
        HELP:Hash mapping of subroutines with params kgentes@gentek.net
    Re: Hosting question... (Tad McClellan)
    Re: Hosting question... <info@devsys.net>
    Re: if statemetn with system function (Alastair)
    Re: Perl Expert Opinion on Million Size Hashes (Ilya Zakharevich)
    Re: Perl Expert Opinion on Million Size Hashes <sugalskd@netserve.ous.edu>
    Re: Perl Expert Opinion on Million Size Hashes (Larry Rosler)
    Re: Perl5 on Dynix <ben_painter@mentorg.com>
        question on split sceenu@hotmail.com
    Re: Recursive Search-And-Replace (Tad McClellan)
    Re: Regular Expresion (Tad McClellan)
    Re: Regular Expresion (Bob Trieger)
    Re: Regular Expresion <ppith@my-deja.com>
    Re: Regular Expresion (Tad McClellan)
        Search a list for an element <rp2885@email.sps.mot.com>
    Re: Sequently adding data to a hash with $x[x..x]??? (Dean Hudson)
    Re: Sequently adding data to a hash with $x[x..x]??? (Larry Rosler)
    Re: Sequently adding data to a hash with $x[x..x]??? (Tad McClellan)
    Re: Syntax checking a Perl script (Greg Bacon)
    Re: Using a hash slice with references? <nolanj00@mh.us.sbphrd.com>
    Re: XS: newSVpv() and malloc <sugalskd@netserve.ous.edu>
        Special: Digest Administrivia (Last modified: 12 Dec 98 (Perl-Users-Digest Admin)

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

Date: Tue, 08 Jun 1999 22:00:59 GMT
From: alastair@calliope.demon.co.uk (Alastair)
Subject: Re: AARRRGGGG!!!
Message-Id: <slrn7lr88o.5g.alastair@calliope.demon.co.uk>

oronet Tech - Joshua Scott <jscott@oro.net> wrote:
>I am still really new to perl so forgive my stupidity.  What the hell does
>this mean?
>
>Argument "\n" isn't numeric in add at ./ptemp line 20, <GEN0> chunk 1.
>
>this is line 20:
>
>$tseconds += $element[3];
>
>@element comes from:
>
>@element = split /\t/, $line;

I'd want to know where $line came from and what it is (maybe).

HTH.

-- 

Alastair
work  : alastair@psoft.co.uk
home  : alastair@calliope.demon.co.uk


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

Date: Wed, 09 Jun 1999 00:02:21 +0200
From: Mats Pettersson <mats.pettersson@falukuriren.se>
To: oronet Tech - Joshua Scott <jscott@oro.net>
Subject: Re: AARRRGGGG!!!
Message-Id: <375D92ED.BF24EC65@falukuriren.se>

oronet Tech - Joshua Scott wrote:
> 
> I am still really new to perl so forgive my stupidity.  What the hell does
> this mean?
> 
> Argument "\n" isn't numeric in add at ./ptemp line 20, <GEN0> chunk 1.
> 
> this is line 20:
> 
> $tseconds += $element[3];

The above line tries to add a newline to a numeric value at the point of
the error.

So, the error occurs when $element[3] is a "\n" (new line).

You should get a chomp in there somwhere maybe.

> 
> @element comes from:
> 
> @element = split /\t/, $line;

Do a "chomp $line" before the split, but remember; then $element[3] will
be outside the boundaries of the array in the above error. 

The first element lies at $element[0] NOT $element[1].

Mats


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

Date: Tue, 8 Jun 1999 16:11:17 -0700
From: Tom Phoenix <rootbeer@redcat.com>
Subject: Re: approximate match?
Message-Id: <Pine.GSO.4.02A.9906081608010.26349-100000@user2.teleport.com>

On Tue, 8 Jun 1999 bing-du@tamu.edu wrote:

> Can anybody advise me how to let the program be smart enough to know
> that '123 "foo boo too"' is an approximate match to '123 "foo soo
> too"' but rather than '123 "hello world"'?

Sure, but first you'll need to come up with a definition of what it means
for two strings to be an "approximate match". Here are some possibilities.

They're the same length.
They have the same number of vowels.
Their vowels are in the same order.
Their spaces are in the same places.
They have the same number of space-separated words, and no words are more
than two characters longer or shorter than their counterparts.
 ...and so on...

Cheers!

-- 
Tom Phoenix       Perl Training and Hacking       Esperanto
Randal Schwartz Case:     http://www.rahul.net/jeffrey/ovs/



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

Date: Tue, 08 Jun 1999 22:03:06 GMT
From: alastair@calliope.demon.co.uk (Alastair)
Subject: Re: Binary File Uploading
Message-Id: <slrn7lr8cn.5g.alastair@calliope.demon.co.uk>

Capt. Ry <dfs@thegrid.net> wrote:
>
>Hello Group,
>
>I am trying to create a binary upload script using CGI.pm I have tried to
>follow the doc files for CGI.pm but I am running into a 500 internal error.
>My uploaded file is created on my server, but no information is read into
>it. So I get a file name with 0 kb ?? 

I'd want to see the server error log!

HTH.

-- 

Alastair
work  : alastair@psoft.co.uk
home  : alastair@calliope.demon.co.uk


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

Date: Tue, 8 Jun 1999 13:07:45 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: C to Perl program?
Message-Id: <1lijj7.34r.ln@magna.metronet.com>

Mike Garcia (rp5280@email.sps.mot.com) wrote:

: I'm trying to convert a current C program into Perl code.  I have the C
: source, but I must convert it to Perl.  
                ^^^^

   How come?

   C and Perl can be made to play together. 

   See perlxstut.pod, maybe that will solve your (unstated) problem.


: Are there any nifty programs on
: the market that can do this?


   Nope.

   You'll have to get a human to learn Perl and then convert it.


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Wed, 09 Jun 1999 00:22:03 +0100
From: John Olsen <J.Olsen@btinternet.com>
Subject: Confused by configuraton file and 'use strict'
Message-Id: <375DA59B.23AA@btinternet.com>

I was trying to use a configuration file as shown in the Cookbook but
it's not behaving the way I was expecting. The bit of code below shows
what I was trying.

#!perl

use strict ;
do 'config.cfg' ;
print "varx is $varx\n" ;

and in the 'config' file I have

$varx = '$value_x' ;

With 'use strict' in operation I get 'requires explicit package name'
compilation errors but the way I'm reading it any variables would go
into package main and the script would just need $varx.

Do I need to say '$::varx' whenever I use a variable set in the config
file (which the Cookbook doesn't seem to be saying) or am I
misunderstanding the info in the Cookbook?



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

Date: Tue, 8 Jun 1999 16:13:21 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: Creating an external config file. How ?
Message-Id: <MPG.11c7436dfae61eb2989b99@nntp.hpl.hp.com>

[Posted and a courtesy copy mailed.]

In article <375C5997.8C939E14@voxel.net> on Tue, 08 Jun 1999 07:45:27 
+0800, Raj Dutt <raj.dutt@voxel.net> says...
> My perl is still a bit iffy, but i'll give it a go.. hope this helps..
> 
> open(INFILE,"configfile.cfg");
> @config_data = INFILE;
> 
> foreach $line (@config_data) {
> 	chomp($line);
> 	if ($line ~= /^#/) next;
> 	($p1,$p2) = split(/ /,$line);
> 	$config_values{$p1} = $p2;
> }
> 
> The data will be stored in $config_values in a hash table
> $config_values{key} = value
> 
> Comments from all about my code would be greatly appreciated. 

There is no harm in giving it a go -- provided you have successfully 
compiled and tested it.  You didn't do that; in fact, you didn't even 
bother to try.  That is really unacceptable.

Tom Phoenix has pointed out a couple of errors.  Here's one that would 
cause it not to compile at all:

> 	if ($line ~= /^#/) next;

Unlike C, Perl requires brackets around the consequents of 'if' and its 
friends.  You can write that line any of these ways (and there are other 
ways too):

  	if ($line ~= /^#/) { next; } # optional semicolon

      next if $line =~ /^#/;

      $line =~ /^#/ and next;

TMTOWTDI, but pick one that works next time.

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


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

Date: Tue, 8 Jun 1999 16:06:22 -0700
From: Tom Phoenix <rootbeer@redcat.com>
Subject: Re: Discard faulty addresses using Net::SMTP
Message-Id: <Pine.GSO.4.02A.9906081559080.26349-100000@user2.teleport.com>

On Tue, 8 Jun 1999 ravicj@my-deja.com wrote:

> I want to be able to discard faulty addresses(valid email addresses,
> but incorrect username@domain) without sending the email.

That sounds a lot like you're trying to see whether a given address is
valid or not. Maybe you need what the FAQ says about this. But if the SMTP
protocol (and the server implementing it) will do what you want, you
should be able to do it with that module. Was that what you needed, or did
I misunderstand your question? Cheers!

-- 
Tom Phoenix       Perl Training and Hacking       Esperanto
Randal Schwartz Case:     http://www.rahul.net/jeffrey/ovs/




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

Date: 8 Jun 1999 23:58:09 GMT
From: M.Ray@ulcc.ac.uk (Malcolm Ray)
Subject: Re: Discard faulty addresses using Net::SMTP
Message-Id: <slrn7lrbgg.7n6.M.Ray@carlova.ulcc.ac.uk>

On Tue, 08 Jun 1999 18:48:19 GMT, ravicj@my-deja.com <ravicj@my-deja.com>
wrote:
>I want to be able to discard faulty addresses(valid email addresses, but
>incorrect username@domain) without sending the email.  I use Net::SMTP
>to send the mail.

I'm going to assume you're not sending spam...

>
>#!/usr/local/bin/perl -w
>use Net::SMTP;
>$smtp = Net::SMTP->new('mailhost');
>$smtp->mail($ENV{USER}); $smtp->to('postmaster');

An unqualified address like that will often not be accepted.  I presume
you're just using a bare 'postmaster' here for illustration, and your
real code isn't like that.

>$smtp->data(); $smtp->datasend("To: postmaster\n");
>$smtp->datasend("\n"); $smtp->datasend("A simple test message\n");
>
>#Somewhere here I want to check if SMTP code 550 is returned for invalid
>#username and if TRUE I want to $smtp->reset();

perldoc Net::SMTP:

       Unless otherwise stated all methods return either a true
       or false value, with true meaning that the operation was a
       success. When a method states that it returns a value,
       failure will be returned as undef or an empty list.

You should be checking the return status of all those calls.  Checking
the return status of the 'to' method will achieve what you want, e.g.:

	$smtp->to($recipient) or die "Bogus address $recipient";

though you probably want to do something more elaborate than simply
dying at that point.

You probably already realise this won't catch all bad addresses, though.
Not all MTAs will give an error at that point - some will accept the
message and send a bounce message later.  Dealing with these is more
tricky - you'd need to arrange for the bounce message to be piped to
a script which could figure out which address caused it.  If you're
using Unix, you might find a utility called procmail useful for this.
You might also consider using a different envelope sender for each
recipient, e.g. (rough code, assuming a simple user@dom.ain recipient
address):

	(my $bounce_to = $recipient) =~ s/@/=/;
	$smtp->mail($bounce_to . "\@$my_domain")
		or die "Envelope sender not accepted for $recipient";

Of course, you'd then need to be able to deal with incoming mail to
all such addresses.  How to do this depends on which MTA you're running,
and is something you'd need to take up with your system administrator,
though if you're lucky enough (or unlucky enough, depending on your
point of view) to be using qmail, it's pretty easy to deal with
yourself.  But that's not a perl matter.
-- 
Malcolm Ray                           University of London Computer Centre


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

Date: Tue, 08 Jun 1999 20:54:40 GMT
From: cpyofkev@my-deja.com
Subject: Re: Distribute Perl
Message-Id: <7jjvua$aq$1@nnrp1.deja.com>

I searched for this topic with my favorite Usenet archive and searched
for in in FAQ, but this is the only information I can find.  Is there
someone out there who have done it?


In article
<Pine.GSO.4.02A.9906031029550.22017-100000@user2.teleport.com>,
  Tom Phoenix <rootbeer@redcat.com> wrote:
> On Thu, 3 Jun 1999, Bill wrote:
>
> > I need to distribute Perl programs to Windows machines that don't
have
> > Perl installed.
>
> I'm not trying to flame you, but you probably don't realize that this
has
> been discussed in this newsgroup umpteen times already. You can see
your
> favorite Usenet archive for the details. Here's what it comes down to,
> though.
>
>     1.	Somebody should install perl on those Windows machines
so that
> 	they can run Perl programs.
>
>     2.	No, you should compile your programs with perl2exe.
>
>     3.	You ninny, that's not a compiler.
>
>     4.	Besides, that takes a lot more time, trouble, and disk
space.
> 	You should just install perl on those Windows machines so that
> 	they can run Perl programs.
>
>     5.	But these are Windows people. They don't know how to
install
> 	software.
>
>     6.	You should offer to install perl for a nominal fee.
>
>     7.	You should offer to install Linux for a nominal fee.
>
>     8.	You should sneak in at midnight to install Linux.
>
>     9.	Why is it so much trouble? I just want these people to
be able
> 	to run Perl programs!
>
>    10.	You should just install perl on those Windows machines
so that
> 	they can run Perl programs.
>
>    11.  Buy perl2exe because compiled programs will run faster.
>
>    12.	You have been seriously misinformed.
>
>    13.	Well, I tried some of the things that you people
suggested,
> 	and what worked best was to have my customers install perl.
>
> Cheers!
>
> --
> Tom Phoenix       Perl Training and Hacking       Esperanto
> Randal Schwartz Case:     http://www.rahul.net/jeffrey/ovs/
>
>


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


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

Date: Tue, 08 Jun 1999 17:53:47 -0500
From: Robert Bell <rabell@raytheon.com>
Subject: encoding an N bit two's complement value as hex.
Message-Id: <375D9EFA.4AA1903F@raytheon.com>

I am wanting to print an integer value as a two's complement
encoded hex string.

I have looked at sprintf and it does not give control over the
size of the hex string.  I am needing it to represent a 10 bit
two's complement encoding (9 bits of value, 1 sign bit).

sprintf appears to give me 31 bits of value and 1 bit of sign.

Anyone have any ideas?

rabell ...




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

Date: 8 Jun 1999 22:12:20 GMT
From: Dan Sugalski <sugalskd@netserve.ous.edu>
Subject: Re: extensions, XS, Fortran
Message-Id: <7jk4g4$9bt$2@news.NERO.NET>

Darwin O.V. Alonso <dalonso@u.washington.edu> wrote:
: I've just run through the first tutorial generated by h2xs, and  I
: see how I would generate extensions written in C. 
:  
: How does one incorporate Fortran source code?

Oddly, I think. IIRC, the matrix math package has fortran components. You
might want to snag it off of CPAN and see how it works. 

					Dan


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

Date: Tue, 8 Jun 1999 13:09:47 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Extracting form fields (HTML::Parser), then printing them?
Message-Id: <roijj7.34r.ln@magna.metronet.com>

Jamie Jackson (wasteNOSPAMbasket@bigfoot.com) wrote:

: >You may need to start by learning about OOP. :-( 
: Oh no!   :-0
: Can you suggest a resource for familiarization with OOP?


   One comes with perl. I would suggest that one  :-)


: (object oriented programming? -- is that what that stood for?)


   perldoc perltoot

   ( Tom's object-oriented tutorial for perl )


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Tue, 8 Jun 1999 23:12:09 GMT
From: ebohlman@netcom.com (Eric Bohlman)
Subject: Re: Extracting form fields (HTML::Parser), then printing them?
Message-Id: <ebohlmanFD1749.A98@netcom.com>

Jamie Jackson (wasteNOSPAMbasket@bigfoot.com) wrote:
: >Well, you'll need to subclass HTML::Parser. Do you understand subclassing?
: No!

: >You may need to start by learning about OOP. :-( 
: Oh no!   :-0
: Can you suggest a resource for familiarization with OOP?
: (object oriented programming? -- is that what that stood for?)

Start off with the perltoot document that came with your Perl 
installation.  Also, I found the chapters on objects in Sriram 
Srinivasan's _Advanced Perl Programming_ (the "panther" book) very clear.

For your application, though, you might want to look at HTML::TokeParser, 
which provides a procedural, rather than event-driven, interface to 
HTML::Parser.  With HTML::TokeParser, you call a function (actually an 
object method) to get the next "token" (start tag, end tag, text, 
comment, declaration) from the HTML document being parsed, rather than 
having the parser call various functions you wrote based on what it sees.


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

Date: 8 Jun 1999 22:42:15 GMT
From: terresem@boi.hp.com (Terrese Miller)
Subject: Help needed on grouping.
Message-Id: <7jk687$dh510@hpbs1500.boi.hp.com>

Hi.  I'm very new to perl and I'm trying to write a script that will parse a    file and group together information.  I then need to take each group of 
information and organize it in a logical order.  So I need to move the groups   of information around to get a certain topology.  

So far I have been able to access the outside file and read from it.  I look for key words.  At the start of the key word I should start grouping the information and continue until I reach the next key word.

Does anyone know where I could find information on how to solve this problem or does anyone know what I could do?

Thanks. 





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

Date: Tue, 08 Jun 1999 23:31:31 GMT
From: andrew-johnson@home.com (Andrew Johnson)
Subject: Re: Help needed on grouping.
Message-Id: <nJh73.1204$WL.31987@news2.rdc1.on.home.com>

In article <7jk687$dh510@hpbs1500.boi.hp.com>,
 Terrese Miller <terresem@boi.hp.com> wrote:
!  Hi.  I'm very new to perl and I'm trying to write a script that
!  will parse a    file and group together information.  I then need
!  to take each group of  information and organize it in a logical
!  order.  So I need to move the groups   of information around to
!  get a certain topology.    So far I have been able to access the
!  outside file and read from it.  I look for key words.  At the
!  start of the key word I should start grouping the information and
!  continue until I reach the next key word.  Does anyone know where
!  I could find information on how to solve this problem or does
!  anyone know what I could do? 
! 

well, you can already the file, that's a good start,

You don't give any info on the structure of the file so
I'll have to ad-lib and you can adjust to taste:

I'll assume you have 3 keywords (foo, bar, and baz) and
they can occur multitple times in a file, but always delimited
by colons and on a line by themselves (hey, I can make this
as easy as I want).

I'll further assume that you only need to collect the lines following
a keyword (until another keyword is hit).

I might use a hash with keys of keywords and values of a reference to
an anonymous array to hold the associated lines.

As for reordering, I'll simply assume you want to print
the groups of lines sorted by keywords.

Here's one possible stab:

#!/usr/bin/perl -w
use strict;
my @keywords = qw/foo bar baz/;
my $pattern = join('|',@keywords);
my %hash;
my $key = 'foo'; # default start key
while(<DATA>){
    $key = $1 and next if m/^:($pattern):$/o;
    push @{$hash{$key}}, $_;
}
foreach my $key (sort keys %hash){
    print ":$key:\n";
    print @{$hash{$key}};
}
__DATA__
:bar:
line 1 for bar
:foo:
line 1 for foo
line 2 for foo
:baz:
line 1 for baz
:foo:
line 3 for foo
:bar:
line 2 for bar
line 3 for bar
:baz:
line 2 for baz

This prints:

:bar:
line 1 for bar
line 2 for bar
line 3 for bar
:baz:
line 1 for baz
line 2 for baz
:foo:
line 1 for foo
line 2 for foo
line 3 for foo

Your problem may be nothing like the above, but that should give some
ideas. Additional resources that may help:

perldoc perlre     (info on regular expressions)
perldoc perlreftut (tutorial on references, recent perl's only)
perldoc perlref    (info on references and anonymous arrays)
perldoc perldsc    (info on nested data structures)

regards
andrew

-- 
      Where the hell are my fries, kid?
          -- Tom Christiansen, on comp.lang.perl.misc
      


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

Date: Tue, 8 Jun 1999 23:39:18 GMT
From: ebohlman@netcom.com (Eric Bohlman)
Subject: Re: Help needed on grouping.
Message-Id: <ebohlmanFD18DI.C6B@netcom.com>

Terrese Miller (terresem@boi.hp.com) wrote:
: Hi.  I'm very new to perl and I'm trying to write a script that will parse a    file and group together information.  I then need to take each group of 
: information and organize it in a logical order.  So I need to move the groups   of information around to get a certain topology.  

: So far I have been able to access the outside file and read from it.  I look for key words.  At the start of the key word I should start grouping the information and continue until I reach the next key word.

: Does anyone know where I could find information on how to solve this problem or does anyone know what I could do?

If you haven't already, read the Data Structures Cookbook (perldsc) that 
comes with Perl.  For problems like this, choice of an appropriate data 
structure is 90% of the task.



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

Date: Tue, 08 Jun 1999 22:12:17 GMT
From: alastair@calliope.demon.co.uk (Alastair)
Subject: Re: help!! perl script doesn't work
Message-Id: <slrn7lr8ts.5g.alastair@calliope.demon.co.uk>

Jessica Hwang <jhwang2@nortelnetworks.com> wrote:
>A)I tried to install a perl script downloaded from the web in an NT
>machine with IIS running.  I'm getting "%1 is not a valid Windows NT
>application."  What does this mean?

Maybe it's something like a file 'association'? I hope the script is from a
reliable source (no hidden 'rm -rf /') :-/

>Other perl scripts are working on this machine just fine, just not this.
>
>I have a .pm file, with NT running IIS. Is this causing a problem?

Is it meant to be executed on it's own?

>B)
>And I tried it on unix and I'm getting:
>
>"Server Error

Web server configuration is a different newsgroup, sorry.


-- 

Alastair
work  : alastair@psoft.co.uk
home  : alastair@calliope.demon.co.uk


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

Date: Tue, 08 Jun 1999 22:15:59 GMT
From: kgentes@gentek.net
Subject: HELP:Hash mapping of subroutines with params
Message-Id: <7jk4ml$27g$1@nnrp1.deja.com>

Hey there..

  I am diligently reading my Perl Cookbook (good book
  btw- some buggy code, but very well organized and
  nicely filled out).. anyways- I found the following
  code snip.  It does what I want, EXCEPT, I would like
  to have params passed in as well.

==============================================================
%States = (
    'Default' => \&front_page,
    'Shirt' => \&shirt,
    'Sweater' => \&sweater,
    'Checkout' => \&checkout,
    'Card' => \&credit_card,
    'Order' => \&order,
    'Cancel' => \&front_page,
);


if ($States{$page}) {
   $States{$page}->(); # call the subroutine
} else {
   no_such_page();
}


==============================================================

I really like the above usage of hash/procedure
references, but here is what I want to do
in the call.  Is this ok?


==============================================================
if ($States{$page}) {
   $States{$page}->($myvariable, $yourvariable); # call the subroutine
} else {
   no_such_page();
}
==============================================================


Thanks for any help!

Kim


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


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

Date: Tue, 8 Jun 1999 12:47:32 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Hosting question...
Message-Id: <4fhjj7.34r.ln@magna.metronet.com>

Rudi (MM@devsys.com) wrote:

: Would like some feedback about good hosting companies.


   You are in the wrong newsgroup.

   You do not need a "hosting company" to program in Perl.


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Wed, 9 Jun 1999 00:50:51 +0200
From: "DevSys" <info@devsys.net>
Subject: Re: Hosting question...
Message-Id: <7jk6qt$mb8$1@nickel.uunet.be>


Tad McClellan <tadmc@metronet.com> wrote in message
news:4fhjj7.34r.ln@magna.metronet.com...
> Rudi (MM@devsys.com) wrote:
>
>    You are in the wrong newsgroup.
>
>    You do not need a "hosting company" to program in Perl.

Strange reaction !
Sure you do if you want to use it on the www and your ISP doesn't allow
it....





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

Date: Tue, 08 Jun 1999 22:07:58 GMT
From: alastair@calliope.demon.co.uk (Alastair)
Subject: Re: if statemetn with system function
Message-Id: <slrn7lr8lr.5g.alastair@calliope.demon.co.uk>

Khan, Fatima (EXCHANGE:SKY:6S34) <gsoamst@americasm01.nt.com> wrote:
>Hello..
>
>I am trying to get my script to  run a program located on my system.  If
>
>it fails, I'd like my script to do some things.
>
>What I'm doing basically is :
>
>if (system(program_name)) {
>    statement;
>     .....
>}
>
>Basically, the block should execute only if the program failed to exit
>properly i.e. not with an exit code of '0'.   But its not working.

Information on 'system' and return codes can be found in the docs e.g.

perldoc -f system

HTH.

-- 

Alastair
work  : alastair@psoft.co.uk
home  : alastair@calliope.demon.co.uk


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

Date: 8 Jun 1999 22:07:07 GMT
From: ilya@math.ohio-state.edu (Ilya Zakharevich)
Subject: Re: Perl Expert Opinion on Million Size Hashes
Message-Id: <7jk46b$pml$1@mathserv.mps.ohio-state.edu>

[A complimentary Cc of this posting was sent to Ankur Narang
<ankurn@Eng.Sun.COM>],
who wrote in article <7jk1dq$10u$1@engnews2.Eng.Sun.COM>:

>       Is it possible to have 2 million node hashes in Perl without ending up
>     in "Out of memory!" messages ?

>env PERL_DEBUG_MSTATS=2 perl -e '$hash{$i} = $i while ++$i < 1e6'
Memory allocation statistics after compilation: (buckets 4(4)..8184(8192)
   19872 free:   184    66    40    22    12   8   2     2   1 0 0
              456   116    37    16    16
   42836 used:    71    61    86    40     4   8   2    12   0 1 1
               55    54   133    68     9
Total sbrk(): 64856/9:157. Odd ends: pad+heads+chain+tail: 1368+780+0+0.
Memory allocation statistics after execution:   (buckets 4(4)..4198392(4194304)
   16120 free:    19    48    39    22    12   8   2     1   0 0 0 0 0 0 0 0 0 0 0 0
              479   137    62    16    16
92858260 used: 999071 999061    87    40     4   8   2 35869   0 0 1 0 0 0 0 0 0 0 0 2
             1054  1053 1000133    68     9
Total sbrk(): 94549336/219:367. Odd ends: pad+heads+chain+tail: 1368+538996+0+1134592.
20.84u 1.81s 0:23.93 94.6%

As you saw, it took only 24 sec and 94.5 M of memory on the entry-level Ultra5.

In fact preallocation improves thing a tiny bit:

>env PERL_DEBUG_MSTATS=2 perl -e 'keys %hash = 1e6; $hash{$i} = $i while ++$i < 1e6'
Memory allocation statistics after compilation: (buckets 4(4)..8184(8192)
   19664 free:   184    66    35    22    12   8   2     2   1 0 0
              456   116    37    15    16
   43044 used:    71    61    91    40     4   8   2    12   0 1 1
               55    54   133    69     9
Total sbrk(): 64856/9:157. Odd ends: pad+heads+chain+tail: 1368+780+0+0.
Memory allocation statistics after execution:   (buckets 4(4)..4198392(4194304)
   15840 free:    19    48    34    22    12   8   2     1   0 0 0 0 0 0 0 0 0 0 0 0
              479   137    61    14    16
92858540 used: 999071 999061    92    40     4   8   2 35869   0 0 1 0 0 0 0 0 0 0 0 2
             1054  1053 1000134    70     9
Total sbrk(): 93810008/111:259. Odd ends: pad+heads+chain+tail: 1368+538996+0+395264.
18.73u 1.58s 0:20.87 97.3%

As you can see, it is a trifle quickier, took 0.7M less memory (well,
it is all in the "tail" - which is not touched, so matters only on
systems without memory overcommitment), and took only 111 sbrk()s
instead of 219.

Hope this helps,
Ilya


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

Date: 8 Jun 1999 22:22:34 GMT
From: Dan Sugalski <sugalskd@netserve.ous.edu>
Subject: Re: Perl Expert Opinion on Million Size Hashes
Message-Id: <7jk53a$9bt$3@news.NERO.NET>

Ankur Narang <ankurn@Eng.Sun.COM> wrote:
: Hi,
:      Can some Perl expert help me in answering these questions ?

:       Is it possible to have 2 million node hashes in Perl without ending up
:     in "Out of memory!" messages ?
:     What are the limits on hash size and handling in Perl and how can we 
:     get around such problems ? If we use keys() function on such a big-size
:     hash what problems can occur ? 
:     Similarly what are the mem. issues with 2 million elements size 
:     arrays and strings (like passing such an array as an argument to a function)
:     and how to get around them.

Sure you can, if you've got the memory. A 2M node hash will take up at
least 60M, I think, plus all the keys and values in the hash. Expect to
chew up a *lot* of ram. (Got a gig handy for this?)

Iterating through with each will take ages (you *do* have 2 million keys
to process), and passing it as an argument to a function is just
completely out of the question. (That's 2 million scalars that need to be
built and put on the stack, plus another 2 million that need to be
extracted from the hash and pushed on the stack) It'll chew up more huge
gobs of memory (80M plus the data in the scalars and keys) and take
forever--that's four million values pushed and another four million
popped. Doesn't matter what language you do it in, either. (Though C won't
*let* you call a function with 4M arguments, though I can't call that
limitation unreasonable :)

What you probably'd be better off doing is using one of the ?DB?_File
packages (GDBM_File, DB_File) and treating this as a tied hash. If you
really need to pass it on, use a reference to it. Avoid iterating through
it if at all possible, though I doubt that running through a GDBM database
with 2 million records is much slower than one entirely in memory... (Say
'Hi!' to your swap partition :-)

You might want to take a step back and reconsider what you're trying to
do. Dealing with a 2M node in-memory hash is going to be a killer in any
language, so maybe it's not the ideal solution in this circumstance.

					Dan



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

Date: Tue, 8 Jun 1999 16:48:50 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: Perl Expert Opinion on Million Size Hashes
Message-Id: <MPG.11c74bb8de5cb7e8989b9b@nntp.hpl.hp.com>

[Posted and a courtesy copy mailed.]

In article <7jk1dq$10u$1@engnews2.Eng.Sun.COM> on 8 Jun 1999 21:19:54 
GMT, Ankur Narang <ankurn@Eng.Sun.COM> says...

Others have answered the first questions.

>     Similarly what are the mem. issues with 2 million elements size 
>     arrays and strings (like passing such an array as an argument to a function)
>     and how to get around them.

Don't pass a huge aggregate (hash or array) as a function argument, 
because that creates a copy.  Use a reference instead (unless you really 
need a copy, of course).  Scalars are passed by reference automatically, 
so aren't copied.

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


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

Date: Tue, 08 Jun 1999 16:45:25 -0700
From: Ben Painter <ben_painter@mentorg.com>
Subject: Re: Perl5 on Dynix
Message-Id: <375DAB15.68A3FE56@mentorg.com>

"Keith A. Humphrey" wrote:
> 
> Can perl5 run on a Sequent Dynix/ptx platform?

Yes it can, I've built it on several versions of Dynix/ptx.

Good luck,

Ben


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

Date: Tue, 08 Jun 1999 22:20:02 GMT
From: sceenu@hotmail.com
Subject: question on split
Message-Id: <7jk4u7$28i$1@nnrp1.deja.com>

Could some kind soul help me out with a question I have about "split"?

I have the following script that I am trying to run on Solaris 2.6 in
Bourne shell.

***********************************************************************
AWK=/usr/bin/nawk
DBNAME=test
THIS_DAY="`date`"

$AWK -v dbname=$DBNAME -v this_day=$THIS_DAY `{
      cmd=$0
      sizeofarray=split(cmd,rec," ")
      instance=rec[1]
      day_of_week=rec[2]
      save=rec[3]
      export=rec[4]
      special=rec[5]

      if (( instance == dbname) && ( this_day == day_of_week ))
      print " " save " " export " " special
      }` $SOME_FILE | while read SAVE EXPORT SPECIAL
      do
        ----
        ----
      done
************************************************************************
when I try to run this script it is giving error on 'split'...
Could someone please explain what exactly this code piece is doing and
why is it a problem with 'split'?
Is split in this code piece a 'perl' call?

Thanks for your time.


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


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

Date: Tue, 8 Jun 1999 12:58:42 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Recursive Search-And-Replace
Message-Id: <24ijj7.34r.ln@magna.metronet.com>

wired2000@my-deja.com wrote:

: I'm looking for a tool (I believe sed may also work instead of perl)
: which can do this:


   We _write_ tools here.

   If you want to _find_ one, use a search engine.


: starting from a directory (which is the starting directory), a script


   The File::Find module will help with finding the files.


: will go into each subdirectory, opening each file of type .shtml or
: ..html and will do a search and replace on every occurance of a string.


: The part of the recursive decent is not so hard or the extension check,


   Good, then I won't show that part  :-)


: but the actual search and replace sounds hard. 


   But sounds can be deceiving...


: I don't think a simple
: s/// will work across the entire file, especially if I want to replace
: a block of code like this:

[snip desired substitution]

: Doing block based search/replaces doesn't sound that easy with the s///


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

{  local $/;     # undef is slurp mode
   $_ = <DATA>;  # slurp the entire file
}

s#<html>
<head><title>Old Title</title>
</head>
#<html>
<head><title>New Title</title></head>
#g;

print;

__DATA__
line before
<html>
<head><title>Old Title</title>
</head>
line after
another line before
<html>
<head><title>Old Title</title>
</head>
another line after
-------------------


   That looks pretty easy to me.

   Learn Perl, get power...


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Tue, 8 Jun 1999 13:05:02 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Regular Expresion
Message-Id: <ufijj7.34r.ln@magna.metronet.com>

Tom Lynch (tlynch@cisco.com) wrote:

: 	I have the line:

: 	foo/foo_bar/foobar\[15\]/foo

: 	I need the line to look like:

: 	foo\/foo_bar\/foobar\[15\]/foo

: 	Note: the tailing /foo no longer contains
: 	a backslash. 

: 	Does anyone have a 
: 	regular expression which would work here?


   A zero-width positive lookahead assertion would help out here.

   It is discussed in perlre.pod.


      s#(/(?=.*?/))#\\$1#g;


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Tue, 08 Jun 1999 23:19:24 GMT
From: sowmaster@juicepigs.com (Bob Trieger)
Subject: Re: Regular Expresion
Message-Id: <7jk6k6$np3$1@oak.prod.itd.earthlink.net>

[ courtesy cc sent by mail if address not munged ]
     
Tom Lynch <tlynch@cisco.com> wrote:
>Greetings:
>
>        I have the line:
>
>        foo/foo_bar/foobar\[15\]/foo
>
>        I need the line to look like:
>
>        foo\/foo_bar\/foobar\[15\]/foo
>
>        Note: the tailing /foo no longer contains
>        a backslash. I've tried:
>
>         $_ =~ s#(/).*/.*$#\\/#;
>
>        Mistakenly thinking the ancore would take
>        care of the match.  Does anyone have a 
>        regular expression which would work here?

you're trying too hard. Why not just say that you want to put a 
backwhack in front of your slashes?

s!/!\\/!g;




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

Date: Tue, 08 Jun 1999 22:18:58 GMT
From: Howard Jow <ppith@my-deja.com>
Subject: Re: Regular Expresion
Message-Id: <7jk4s8$286$1@nnrp1.deja.com>

In article <375D51C9.646A68B5@cisco.com>,
  Tom Lynch <tlynch@cisco.com> wrote:
> Greetings:
>
> 	I have the line:
>
> 	foo/foo_bar/foobar\[15\]/foo
>
> 	I need the line to look like:
>
> 	foo\/foo_bar\/foobar\[15\]/foo
>
> 	Note: the tailing /foo no longer contains
> 	a backslash. I've tried:

Hey, how about serveral ones?  I'm not JAPH or Jeffrey
Friedl, but here's what I came up with(please be nice):

# assume it's stored in $sen

$sen =~ s#\/#\\/#g;

# we did one too many, so go backwards and fix it

$sen =~ m#([a-z]+$)#;
$junk = $1;
$sen =~ m#([a-z\\\/]+$)#;
$sen =~ s#\\$1$#/$junk#;


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


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

Date: Tue, 8 Jun 1999 14:25:47 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Regular Expresion
Message-Id: <b7njj7.a8r.ln@magna.metronet.com>

Ondrej Palkovsky (xpalo03@vse.cz) wrote:
: Tom Lynch wrote:
: > 
: > Greetings:
: > 
: >         I have the line:
: > 
: >         foo/foo_bar/foobar\[15\]/foo
: > 
: >         I need the line to look like:
: > 
: >         foo\/foo_bar\/foobar\[15\]/foo
: > 
: >         Note: the tailing /foo no longer contains
: >         a backslash. I've tried:
: > 
: >          $_ =~ s#(/).*/.*$#\\/#;
: >
: This should work:
: $_ =~ s#/(.*/[^/]*)$#\/$1#g;


   That works for spending CPU cycles to no effect.

   It does not change the string.

   You should try out code before you post it for folks to 
   learn from...


   Maybe you just left out a backslash and meant:

      s#/(.*/[^/]*)$#\\/$1#g;

   ??

   But that only escapes the first slash.  The second one 
   does not get escaped.

   Even after "fixing" it, it doesn't do what was requested.


   What was it that you really meant to say?


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: Tue, 08 Jun 1999 16:00:54 -0700
From: Aaron Ginn <rp2885@email.sps.mot.com>
Subject: Search a list for an element
Message-Id: <375DA0A5.28E6D867@email.sps.mot.com>

Is there a function which will parse a list for a specific value,
similar to how 'exists' works for hashes?  I haven't found anything in
the camel book that looks like this.  I have a solution for this, but I
would like to use a function that works this way if it exists.

Thanks,
Aaron

--
 -------------------------------------------------------------
|  Aaron J. Ginn                     Motorola SPS             |
|  Phone: (480) 814-4463             SemiCustom Solutions     |
|  Fax:   (480) 814-4058             1300 N. Alma School Rd.  |
|  mailto:rp2885@email.sps.mot.com   Chandler, AZ 85226       |
 -------------------------------------------------------------





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

Date: 8 Jun 1999 14:52:31 -0700
From: deanh@nwnet.net (Dean Hudson)
Subject: Re: Sequently adding data to a hash with $x[x..x]???
Message-Id: <7jk3av$41v@cypress.nwnet.net>

Hi.

In article <375D8732.BB504C23@falukuriren.se>,
Mats Pettersson  <mats.pettersson@falukuriren.se> wrote:

>while(<FILE>) {
>	chomp;
>	@line_of_data = split(/\,/);       // Split data with ','.
>	%hash_array = @line_of_data[2..6]; // Add a line of data into the hash.
>}
>
>Although the above only remember the last read line of data.
>
>Any ideas?

You appear to be reassigning the value of %hash_array with each iteration 
of your while loop. I'm not sure what sort of data structure you want to end
up with, but something like the following may produce what you have in mind:

    $hash_of_arrays{'uniq_key_for_this_line'} = [@line[ 2..6]];

gud luk.
-- 
--
dean hudson, <deanh@verio.net>		Verio Systems Engineering


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

Date: Tue, 8 Jun 1999 16:44:37 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: Sequently adding data to a hash with $x[x..x]???
Message-Id: <MPG.11c74abefd9870db989b9a@nntp.hpl.hp.com>

[Posted and a courtesy copy mailed.]

In article <375D8732.BB504C23@falukuriren.se> on Tue, 08 Jun 1999 
23:12:18 +0200, Mats Pettersson <mats.pettersson@falukuriren.se> says...
> I'm trying to sequently load a row of data into a hash array, like...
> 
> while(<FILE>) {
> 	chomp;
> 	@line_of_data = split(/\,/);       // Split data with ','.
> 	%hash_array = @line_of_data[2..6]; // Add a line of data into the hash.
> }
> 
> Although the above only remember the last read line of data.

That is because you have asked to *assign* a list (of five elements) to 
the hash.  This creates three keys, two defined values, and an undefined 
value.  The '-w' flag would have warned you about this.

What is the key of the new entry you want in the hash?  I'll show how to 
do it if the key is the first element in your five-element list:

      $hash_array{$line_of_data[2]} = [ @line_of_data[3 .. 6] ];

By the way, %hash_array is a rotten name.  A hash is not an array, and 
vv.  Just %hash is a lot better.

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


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

Date: Tue, 8 Jun 1999 14:41:41 -0400
From: tadmc@metronet.com (Tad McClellan)
Subject: Re: Sequently adding data to a hash with $x[x..x]???
Message-Id: <55ojj7.a8r.ln@magna.metronet.com>

Mats Pettersson (mats.pettersson@falukuriren.se) wrote:

: I'm trying to sequently load a row of data into a hash array, like...
                ^^^^^^^^^

   You can put them in in any order you like, it won't matter.

   Since the hash data structure is unordered it will rearrange
   them into an order that it likes anyway.


: while(<FILE>) {
: 	chomp;
: 	@line_of_data = split(/\,/);       // Split data with ','.
                                           ^^
                                           ^^ 

   Hmmm.

   Are you perhaps learning Perl after learning some other
   popular programming language?

   :-)



   It is exceedingly silly to type in code rather than cut/paste
   it. Because if you make a typo, everybody will correct your
   typo, and nobody will correct your real problem.

   Hope you aren't doing that...


: 	%hash_array = @line_of_data[2..6]; // Add a line of data into the hash.


   You should enable warnings on *all* of your Perl programs.

   It would tell you that you have an odd number of elements
   in that hash slice.

   When you assign directly to a hash like that, you must provide
   alternating _pairs_ of key and its associated value.

   So you must have an even number of them.


   Are you really trying to get this into your hash:

      $hash_array{$line_of_data[2]} = $line_of_data[3];
      $hash_array{$line_of_data[4]} = $line_of_data[5];

   ??


: }

: Although the above only remember the last read line of data.

: Any ideas?


   Yes.

   Tell us what you want to do.

   If you are speaking of a hash, then you need keys and values.

   What are your keys?

   What are your values?


--
    Tad McClellan                          SGML Consulting
    tadmc@metronet.com                     Perl programming
    Fort Worth, Texas


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

Date: 8 Jun 1999 22:34:44 GMT
From: gbacon@itsc.uah.edu (Greg Bacon)
Subject: Re: Syntax checking a Perl script
Message-Id: <7jk5q4$2go$1@info2.uah.edu>

[ posted and mailed ]

In article <Pine.GHP.4.05.9906081653320.4366-100000@medalion.rsn.hp.com>,
	Erich Douglass <erd@rsn.hp.com> writes:
: I'd like to syntax check a perl file before i execute it, but i need more
: functionality than 'perl -c'.  I would like to check for any sort of
: statement that might cause a run-time error (refrences to functions that
: don't exist, etc...) without actually running the file.  Any ideas...

Let's share the work.  I'll implement your feature after you solve the
halting problem.

Greg
-- 
The ability to quote is a serviceable substitute for wit. 
    -- Maugham


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

Date: Tue, 08 Jun 1999 17:37:33 -0400
From: John Nolan <nolanj00@mh.us.sbphrd.com>
Subject: Re: Using a hash slice with references?
Message-Id: <375D8D1D.BACE6A49@mh.us.sbphrd.com>

Burton Kent wrote:
> 
> What is the proper way to reference a slice from a
> hash of hashes? (Did I say that correctly?)
> 

You want a slice of an anonymous hash.  In your case,
your reference to the anonymous hash is itself an element
in a hash.  

> I want it to be identical to:
> ($records{$key}->{'key'}, $records{$key}->{'prdb_id'},
> $records{$key}->{'prdb_title'}, $records{$key}->{'prdb_doc'},
> $records{$key}->{'doc_id'}, $records{$key}->{'doc_file'},
> $records{$key}->{'doc_doc'}) = split /  /;


First you dereference the reference, then you handle
the hash like any other hash.  So if $records{$key} is 
a reference to a hash, then we access the hash like so:

    %{ $records{$key} };

 ...and if @slice is your slice, then you say:

    @{ $records{$key} }{ @slice };

 ...or, for your example, you can say this:

    @{ $records{$key} }{ qw(
            key prdb_id prdb_title prdb_doc doc_id
            doc_title doc_file doc_doc 
        )}
        = split / /;

This is not particularly elegant, but as far as I know
it's the only direct way to do it.  (Can somebody post
a better way?)


--John Nolan


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

Date: 8 Jun 1999 22:10:46 GMT
From: Dan Sugalski <sugalskd@netserve.ous.edu>
Subject: Re: XS: newSVpv() and malloc
Message-Id: <7jk4d6$9bt$1@news.NERO.NET>

Elf Sternberg <elf@halcyon.com> wrote:
: 	Another XS clarification: when using the newSVpv(char *, int)
: function, it creates a *copy* of the string you've passed in, not the
: original, correct?  Since I have a library that malloc()'s strings for
: me to examine, once passed into newSVpv() it should be safe to free()
: that string, yes?

Yep. All the functions that set an SV's value make copies of the
data you pass. I think perl's API'll be extended a bit in 5.006 so you've
got an option to not copy, but you'll need to explicitly ask for that.
(Handy for times when you want to stuff 15M of data you already have into
an SV, for example)

					Dan


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

Date: 12 Dec 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 Dec 98)
Message-Id: <null>


Administrivia:

Well, after 6 months, here's the answer to the quiz: what do we do about
comp.lang.perl.moderated. Answer: nothing. 

]From: Russ Allbery <rra@stanford.edu>
]Date: 21 Sep 1998 19:53:43 -0700
]Subject: comp.lang.perl.moderated available via e-mail
]
]It is possible to subscribe to comp.lang.perl.moderated as a mailing list.
]To do so, send mail to majordomo@eyrie.org with "subscribe clpm" in the
]body.  Majordomo will then send you instructions on how to confirm your
]subscription.  This is provided as a general service for those people who
]cannot receive the newsgroup for whatever reason or who just prefer to
]receive messages via e-mail.

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

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