[9653] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 3247 Volume: 8

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Jul 24 16:07:17 1998

Date: Fri, 24 Jul 98 13:01:02 -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           Fri, 24 Jul 1998     Volume: 8 Number: 3247

Today's topics:
    Re: '!' instead of filename in output of warn() (M.J.T. Guy)
    Re: *** FAQ: ANSWERS TO YOUR QUESTIONS! READ FIRST! Pos birgitt@my-dejanews.com
    Re: ...experienced Perl programmers rarely use eof... <jdporter@min.net>
        <GEN0> chunk xxx : <IN> chunk xx   (errorr message deta <hck@formalsys.ca>
        Changing to home directory <slanicky@students.uiuc.edu>
    Re: Code showing apparent "Perl While Bug" (Mike Stok)
    Re: compare arrays (Larry Rosler)
    Re: compare arrays <jdporter@min.net>
    Re: confused with list of hashes. <dgris@rand.dimensional.com>
    Re: Date Question... (Josh Kortbein)
    Re: delete while iterating over array (M.J.T. Guy)
    Re: delete while iterating over array <tchrist@mox.perl.com>
    Re: Formats question <tchrist@mox.perl.com>
    Re: future date in epoch time (Mike Stok)
        h2xs: Generating wrappers for Win32 dlls -- need GUID ionFreeman@my-dejanews.com
    Re: modifying a text file melspace@my-dejanews.com
    Re: Net::Telnet <jay@rgrs.com>
    Re: Perl Beautifier Home Page (Snowhare)
        Perl multiple installations <jsteorts@csc.com>
    Re: Perl with SSI serstad@my-dejanews.com
        reference passing seems odd <nonspammers.cut.after.the.period.hot_redox@hotmail.com>
    Re: reference passing seems odd (Larry Rosler)
    Re: regexp question (William Wueppelmann)
    Re: regexp question (Kelly Hirano)
        socket trouble: why does it hang ? <byteshifter@shifted-bytes.de>
    Re: Text processing question <dean@mail.biol.sc.edu>
        two "should-be" FAQ's re:arrays <steve@gnosis.slac.com>
    Re: two "should-be" FAQ's re:arrays (Kelly Hirano)
    Re: two "should-be" FAQ's re:arrays <steve@gnosis.slac.com>
        Special: Digest Administrivia (Last modified: 12 Mar 98 (Perl-Users-Digest Admin)

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

Date: 24 Jul 1998 18:01:29 GMT
From: mjtg@cus.cam.ac.uk (M.J.T. Guy)
Subject: Re: '!' instead of filename in output of warn()
Message-Id: <6pai5p$qm2$1@pegasus.csx.cam.ac.uk>

In article <6p7j25$qva$1@nnrp1.dejanews.com>,  <spacy13@my-dejanews.com> wrote:
   [snip example of #line directive]
>
>Does anybody have an idea why this happens? Did I miss something?

>From near the end of  perlsyn:

     Plain Old Comments (Not!)

     Much like the C preprocessor, Perl can process line
     directives.  Using this, one can control Perl's idea of
     filenames and line numbers in error or warning messages
     (especially for strings that are processed with eval()).
     The syntax for this mechanism is the same as for most C
     preprocessors: it matches the regular expression
     /^#\s*line\s+(\d+)\s*(?:\s"([^"]*)")?/ with $1 being the
     line number for the next line, and $2 being the optional
     filename (specified within quotes).

     Here are some examples that you should be able to type into
     your command shell:

         % perl
         # line 200 "bzzzt"
         # the `#' on the previous line must be the first char on line
         die 'foo';
         __END__
         foo at bzzzt line 201.

>Please respond also by email to bdbeck@ix.netcom.com because I don't monitor
>this group regularily.

Ask in news, get the reply in news.


Mike Guy


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

Date: Fri, 24 Jul 1998 19:19:37 GMT
From: birgitt@my-dejanews.com
Subject: Re: *** FAQ: ANSWERS TO YOUR QUESTIONS! READ FIRST! Posted Twice Weekly ***
Message-Id: <6pamoa$gfh$1@nnrp1.dejanews.com>

In article <6p9u3d$3ha@bgtnsc03.worldnet.att.net>,
  "Terry Cora" <TerryLCora@worldnet.att.net> wrote:
> >Am I the only one who thinks that this post is not appropriate ?
> >
> >Birgitt Funk
>
> I doubt it.
>
> But I was supprised that the mini-FAQ only contained 1 book reccomendation
> with a link to their commercial website - O'Reilly press.  There are many
> other books that may be of interest to those who visit this newsgroup and
> not all are by O'Reilly.  I checked a little further and found out that
> Nathan Torkington, Perl mini-FAQ maintainer is an author who's book, "The
> Perl Cookbook" is being published by O'Reilly, available August, '98 $39.95.
>
> Terry Cora
>


I think you got me wrong and I made a mistake in referencing my post.

I was not questioning the MiniFAQ post of Mathan Torkington
because perl books from O'Reilly are mentioned, not at all.

I don't see how mentioning a publisher of a highly recommendable
Perl book can be in any way considered as SPAM. The Llama, Camel
and Panther books belong into a Perl programmer's library, it
is IMHO normal and expectable that these books are mentioned in clpm.

I was referring to your post ( Terry Cory), and was questioning
the way you used clpm to announce a cheaper deal of the book
at your own site, which is again linked to AMAZON for ordering purposes.

You are earning commission for selling the book in question if they are
ordered through the link on your site.

That is in my opinion a usage of clpm which is not acceptable,
even if the money is used to support a mailing list concerned
with Perl.

I just would like to make clear that any website owner who
is an associate of AMAZON (or an associate of any other online
bookseller) and who advertises *his* website to order a book
from, is spamming, actually in this case it is SPAMMING FOR TWO,
for himself and for the online bookseller he is an associate with.

If I am the only one who thinks that way, I will not post
any more complaints in that regard in the future.

It is not that important to me, but from another thread and a post by
Ted McClellan a couple of days ago, I got the impression
that the distinction of who spams, Amazon or associates
of Amazon is not realized. That is the reason I posted in reference
to this subject.

Birgitt Funk



-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


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

Date: Fri, 24 Jul 1998 19:27:54 GMT
From: John Porter <jdporter@min.net>
Subject: Re: ...experienced Perl programmers rarely use eof...
Message-Id: <35B8E1C4.8E4@min.net>

Jordan Henderson wrote:
> 
> On p.161 of the Camel (2nd Ed.):
>         ... In fact, experienced Perl programmers rarely use eof,
>         since the various input operators already behave quite
>         nicely in while-loop conditionals.
> 
> [But,] For example, 
>         while (<>) { last if /^<PRE>/; }
>         if (eof) die "...";

Um, well, the Camel didn't say experienced Perl programmers *never* use
eof().  I guess you found one really good example of when it comes in
handy.

-- 
John Porter


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

Date: Fri, 24 Jul 1998 15:09:41 -0300
From: Colin Kilburn <hck@formalsys.ca>
Subject: <GEN0> chunk xxx : <IN> chunk xx   (errorr message details)
Message-Id: <35B8CDE5.7730B04F@formalsys.ca>

Tad McClellan wrote:
> 
> Colin Kilburn (hck@formalsys.ca) wrote:
> : Here are two error messages:
> 
> : Use of uninitialized value at /lib/Customer/Customer.pm line 973, <GEN0>
> : chunk 549.
> : Use of uninitialized value at /lib/Customer/Customer.pm line 975, <IN>
> : chunk 24.
> 
> : What does the '<GEN0> chunk 549' and '<IN> chunk 24' parts refer to?
> 
> If you have not changed $/ from its default value then:
> 
>    s/chunk/line/;
> 
> Does that help?
> 
> --
>     Tad McClellan                          SGML Consulting
>     tadmc@metronet.com                     Perl programming
>     Fort Worth, Texas


No, not really, refer to code below.

I solved the problem causing the unitialized messages, but I
have never figured out what the <GEN0>, <IN> and 'chunk xxx' 
refer to?

Explanition of code:

The @results is the DB query results.
The grep filters out the hash records I am interested in.
The $modshort filter was invalid for one of the $mod iterations
due to a spelling errorr in $cust->{NAT_Type}{$mod} lookup hash.

SOooooo, refering to these errorr messages :

Use of uninitialized value at /lib/Customer/Customer.pm line 973, <GEN0>
chunk 549.
Use of uninitialized value at /lib/Customer/Customer.pm line 975, <IN>
chunk 24.

----------------------------------------------------
What does <GEN0>, <IN> and 'chunk xxx' refer to?
----------------------------------------------------

CODE example :

for $mod ( keys %{$cust->{libs}{$lib}} ) # for each mod type of $lib
{
    $modShort = $cust->{NAT_Type}{$mod}; # change to symbolic form

    @results = map
    { 
       "     $cust->{$src_type}{$_}[0]->[$el_name]" .
       "     \"$mod" . 
       "/$cust->{$src_type}{$_}[0]->[$el_name]\"" 
    }
    grep
    { 
           $cust->{$src_type}{$_}[0]->[$el_lib]  =~ m:$lib: 
       and $cust->{$src_type}{$_}[0]->[$el_type] =~ m:$modShort: 
    } @src_x ;
 ......
}

Thanks
-- 
=================================================================
= Colin Kilburn   -  FSI Software Developer -  hck@formalsys.ca =
= Fredericton NB  -  phone 506 433 0300     -  fax 506 433 0300 =
=================================================================


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

Date: Fri, 24 Jul 1998 14:35:27 -0500
From: Kevin Slanicky <slanicky@students.uiuc.edu>
Subject: Changing to home directory
Message-Id: <Pine.SOL.3.96.980724143355.22598A-100000@ux9.cso.uiuc.edu>

I'm needing to change to the home directory of wherever the script is
running
and am having some serious problems.  I need to do this so that I can
extract
the email address out of the .netscape/preferences file in the users
directory.
 Could someone plese email me the best and easiest way to do this if it is
possible.  It HAS to be possible....
Email the answer please as I might not remember I put this on the BBS.
Thanks.



//////////////////////////////
///Kevin Slanicky         ///
//University of Illinois ///
/Illini Hockey # 16     ///
--------------------------



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

Date: 24 Jul 1998 19:24:49 GMT
From: mike@stok.co.uk (Mike Stok)
Subject: Re: Code showing apparent "Perl While Bug"
Message-Id: <6pan21$gun@news-central.tiac.net>

In article <35B86AEF.167E@webleicester.co.uk>,
Mark Simonetti  <marks@webleicester.co.uk> wrote:
>Try this with perl (latest version)..
>It should display "Woohoo" twice right ?

No :-)  You're iterating over a single hash and according to the docs on
each (from perldoc -f each):

  Entries are returned in an apparently random order.  When the hash is
  entirely read, a null array is returned in list context (which when
  assigned produces a FALSE (C<0>) value), and C<undef> in scalar context. 
  The next call to C<each()> after that will start iterating again.  There
  is a single iterator for each hash, shared by all C<each()>, C<keys()>,
  and C<values()> function calls in the program; it can be reset by reading
  all the elements from the hash, or by evaluating C<keys HASH> or C<values
  HASH>.  If you add or delete elements of a hash while you're iterating
  over it, you may get entries skipped or duplicated, so don't. 

This suggests a simple solution which seems to work for me:

>sub test {
>  my($donkey, $srch) = @_;
>  my($prm1, $prm2);

   keys %$donkey;		# reset iterator

>  while(($prm1, $prm2) = each(%$donkey)) {
>    if($prm2 eq $srch) {
>      print "Woohoo !\n";
>      return(1);
>    }
>  }
>
>  print "ahh pants !\n";
>}

Hope this helps,

Mike

-- 
mike@stok.co.uk                    |           The "`Stok' disclaimers" apply.
http://www.stok.co.uk/~mike/       |   PGP fingerprint FE 56 4D 7D 42 1A 4A 9C
http://www.tiac.net/users/stok/    |                   65 F3 3F 1D 27 22 B7 41
stok@colltech.com                  |            Collective Technologies (work)


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

Date: Fri, 24 Jul 1998 11:55:57 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: compare arrays
Message-Id: <MPG.1022789d8f0e85e7989747@nntp.hpl.hp.com>

[Posted to comp.lang.perl.misc and a copy mailed.]

In article <35B4EFA5.46F@min.net> on Tue, 21 Jul 1998 19:38:04 GMT, John 
Porter <jdporter@min.net> says...
> Larry Rosler wrote:
> > 
> > In article <35B3B8E8.41F1@min.net> on Mon, 20 Jul 1998 21:32:22 GMT, John
> > Porter <jdporter@min.net> says...
> >   "@x" eq "@y" . . . is even worse.
> > 
> > That is way overstated.  If the arrays match, the stringizing approach is
> > about twice as fast as the loop.  If the first mismatch is halfway
> > through, they are about the same.  So on average they are about the same.
> > 
> > I posted the benchmarks on July 14.
> 
> The "compare strings" method only has speed advantage when the elements
> of the arrays have already been stringized.  Your benchmarks reflect
> this case.  In the generalized case, where one cannot assume that the
> elements have all been stringized, the "brute force" method is faster.

Yes.  When talking about 'stringizing' we all should have been saying 
'joining strings'.  If the array elements have themselves to be 
stringized first in order to be joined, this method loses its edge, 
because the 'brute force' method compares the elements as-is.

Thanks for the added insight.

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


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

Date: Fri, 24 Jul 1998 19:37:56 GMT
From: John Porter <jdporter@min.net>
Subject: Re: compare arrays
Message-Id: <35B8E41F.7203@min.net>

Larry Rosler wrote:
> John Porter <jdporter@min.net> says...
> > The "compare strings" method only has speed advantage when the elements
> > of the arrays have already been stringized.  Your benchmarks reflect
> > this case.  In the generalized case, where one cannot assume that the
> > elements have all been stringized, the "brute force" method is faster.
> 
> Yes.  When talking about 'stringizing' we all should have been saying
> 'joining strings'.  If the array elements have themselves to be
> stringized first in order to be joined, this method loses its edge,
> because the 'brute force' method compares the elements as-is.

Well, that would certainly be true; for example, if we knew a priori
that 
all the elements were numbers, we could use != to compare them.
But even in my benchmarks, I did not use that optimization; I stringized
the elements and compared them as strings.  Even so, the brute force
approach was faster.  This tells me that stringizing is the slow link;
slower, anyway, than the other op, string comparison.  And that's
probably
the only lesson to be learned from this exercise.

Here's my code.


#!/usr/local/bin/perl -w

use Benchmark;

my $its = 1;
my $len = 10000;

@a = @b = ();

$" = "\0";

sub as_strings {
  "@a" eq "@b"
}

sub longhand {
  scalar(@a) == scalar(@b) or return 0;
  for ( 0..$#a ) {
    $a[$_] eq $b[$_] or return 0;
  }
  1;
}

print "\nitems are refs\n";
print "Differing at the end:\n";
@a = @b = ();
@a = map { [] } 1 .. $len;
@b = @a; $b[-1] = {};
timethese( $its, {
  'as_strings' => \&as_strings,
  'longhand__' => \&longhand
});

print "\nDiffering in the middle:\n";
@a = @b = ();
@a = map { [] } 1 .. $len;
@b = @a; $b[$#b >> 1] = {};
timethese( $its, {
  'as_strings' => \&as_strings,
  'longhand__' => \&longhand
});

print "\n\nitems are nums\n";
print "Differing at the end:\n";
@a = @b = ();
@a = map { $_ * 1.5 } 1 .. $len;
@b = @a; $b[-1] = 6.666;
timethese( $its, {
  'as_strings' => \&as_strings,
  'longhand__' => \&longhand
});

print "\nDiffering in the middle:\n";
@a = @b = ();
@a = map { $_ * 1.5 } 1 .. $len;
@b = @a; $b[$#b >> 1] = 6.666;
timethese( $its, {
  'as_strings' => \&as_strings,
  'longhand__' => \&longhand
});

print "\n\nitems are strings\n";
print "Differing at the end:\n";
@a = @b = ();
@a = map { 'a' } 1 .. $len;
@b = @a; $b[-1] = 'b';
timethese( $its, {
  'as_strings' => \&as_strings,
  'longhand__' => \&longhand
});

print "\nDiffering in the middle:\n";
@a = @b = ();
@a = map { 'a' } 1 .. $len;
@b = @a; $b[$#b >> 1] = 'b';
timethese( $its, {
  'as_strings' => \&as_strings,
  'longhand__' => \&longhand
});

print "\n";



-- 
John Porter


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

Date: Fri, 24 Jul 1998 18:29:25 GMT
From: Daniel Grisinger <dgris@rand.dimensional.com>
Subject: Re: confused with list of hashes.
Message-Id: <6paj4c$ln$1@rand.dimensional.com>

[posted to comp.lang.perl.misc and mailed to the cited author]

In article <35B8BAD2.558BD36E@sig.net>
Alexander Bibighaus <alexb@sig.net> wrote:

>Now, I seem to understand that I can create this record by using a hash
>such as
>(Please correct me if I am wrong)
>
>my(%rec) = (
>    Port => undef,
>    SessionId => undef,
>    UserID => undef,
>    Time => undef
>);
>
>Now, I am confused with the syntax in the example  I was reading:

The example you are looking at does something a tad more complex
than the hash you posted above :-).  Let's take a look at it-

># reading from file
># format: LEAD=fred FRIEND=barney
> while ( <> ) {
>     $rec = {};                                                # ??

This create a reference to an anonymous hash and stores it
in $rec (if you aren't comfortable with references I'd
strongly suggest sitting down with a cup of coffee and
reading perlref, it'll save you a lot of headaches later :-).  

The important thing here is that $rec is only a
memory address (similar in function to a pointer in C, but
without the ability to do arithmetic), if you print it you'll 
get something like HASH(0x838dd70).  Anytime you want to 
actually get at a  value in this hash you must first dereference 
it.  I'll use the debugger to illustrate what these data
structures look like.

>     for $field ( split ) {
>         ($key, $value) = split /=/, $field;
>         $rec->{$key} = $value;                         # ???
>     }

This is creating the appropriate entries in an anonymous
hash.

  DB<10> $hashref = { ( foo => bar, fee => foe ) }

This does the same thing as the above example, it just does
it all at once rather than one entry at a time. The -> notation 
is an example of dereferencing a variable.  It is a just a 
different way of saying $$rec{$key} (which is the style I 
personally prefer).  If you looked at this in the debugger 
you'd get something like-

  DB<11> X hashref
$hashref = HASH(0x82e2bbc)
   'fee' => 'foe'
   'foo' => 'bar'

This shows the reference, as well as the values of the data
structure that it refers to.

>     push @LoH, $rec;                                     # ??
> }

This pushes the hash reference onto @LoH.  Now the data structure
is a little more complicated.  You have an array of references
to hashes.

  DB<12> @array_of_refs = $hashref
  DB<13> X array_of_refs
@array_of_refs = (
   0  HASH(0x82e2bbc)
      'fee' => 'foe'
      'foo' => 'bar'
)
  
Your data hasn't changed at all, though.  $array_of_refs[0] and
$hashref now point at the same thing.  It just takes a little more
to dereference now.  Because of how tightly $, @, %, &, and * bind
in perl you need to give more explicit instructions.  This is
where some people find the -> notation convenient.

These two statements are the same because the -> forces 
dereferencing.
  DB<14> print $hashref -> {fee} 
foe
  DB<15> print $array_of_refs[0] -> {fee}
foe

If you don't like the arrow syntax, these two constructs also 
do the same thing-
  DB<16> print $$hashref {fee}
foe
  DB<17> print ${$a[0]}{fee}
foe

The most difficult thing about using references is understanding
how dereferencing works.  Personally, I've always thought of
references as just odd variable names.  If you can look at
$some_var and think `I'm getting the scalar variable stored
in some_var', then it isn't too difficult to look at $$some_ref 
and think `I'm getting the scalar variable stored in $some_ref'.
This makes it easier for me to remember how to dereference more
complex structures.  $$some_ref[0] makes me think `the scalar value
at element 0 of the array $some_ref' while ${$some_ref[0]} translates
as `the scalar value stored at element 0 of some_ref'. YMMV.

>Could someone explain this example for me and maybe how it would relate
>to what I am trying to do.

For your purposes I'd simply use a list of references to
structures you need.
  push @list_of_refs, \%rec;
  ${$list_of_refs[0]} {SessionId} = 42;

>thanks,

Hope this helps.

Regards,
Daniel
-- 
Daniel Grisinger           dgris@perrin.dimensional.com
"No kings, no presidents, just a rough consensus and
running code."
                           Dave Clark


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

Date: 24 Jul 1998 18:07:05 GMT
From: kortbein@iastate.edu (Josh Kortbein)
Subject: Re: Date Question...
Message-Id: <6paig9$s1i$1@news.iastate.edu>

Larry Rosler (lr@hpl.hp.com) wrote:
: [Posted to comp.lang.perl.misc and a copy mailed.]

: In article <6paa22$ffb$2@news.iastate.edu> on 24 Jul 1998 15:42:58 GMT, 
: Josh Kortbein <kortbein@iastate.edu> says...
: ...
: > 	=item localtime EXPR
: > 
: > 	Converts a time as returned by the time function to a 9-element array
: > 	with the time analyzed for the local time zone.  Typically used as
: > 	follows:
: > 
: > 		#  0    1    2     3     4    5     6     7     8
: > 		($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
: > 									localtime(time);
: ...
: > ... so the idea is to grab the array and then subtract one from the day.

: And if that yields 0, subtract 1 from the month and set the day to 
: something appropriate.  And if the month is now -1, subtract 1 from the 
: year and set the month to 0.  And then sprintf the whole thing the way 
: 'scalar localtime' does.  Sheesh!!!

Sorry...

It seemed workable at the time.






Josh

--

__________________________________________
She had heard all about excluded middles;
they were bad shit, to be avoided.
            - Thomas Pynchon



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

Date: 24 Jul 1998 18:26:48 GMT
From: mjtg@cus.cam.ac.uk (M.J.T. Guy)
Subject: Re: delete while iterating over array
Message-Id: <6pajl8$r03$1@pegasus.csx.cam.ac.uk>

Michael Maraist  <maraism@sterlingdi.com> wrote:
>> 
>>    @array = grep /./s, @array;  # eliminate empty array elements
>
>	The reg ex doesn't work in all cases.  '.' only takes normal chars,non
>chars and carrage returns.  If you were to garuntee the reg ex to work,
>you'd need to represent the entire character space.  Not really a big
>deal.

What do you mean?   What is a "non char"?   '.' with /s matches *any*
single character, period.


Mike Guy


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

Date: 24 Jul 1998 19:08:06 GMT
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: delete while iterating over array
Message-Id: <6pam2m$shm$1@csnews.cs.colorado.edu>

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

In comp.lang.perl.misc, mjtg@cus.cam.ac.uk (M.J.T. Guy) writes:
:'.' with /s matches *any* single character, period.

What an unfortunate choice of words! It matches far more
than a period, you know. :-(

--tom
-- 
    It's there as a sop to former Ada programmers.  :-)
        --Larry Wall regarding 10_000_000 in <11556@jpl-devvax.JPL.NASA.GOV>


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

Date: 24 Jul 1998 18:19:29 GMT
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: Re: Formats question
Message-Id: <6paj7h$pve$1@csnews.cs.colorado.edu>

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

In comp.lang.perl.misc, 
    mgjv@comdyn.com.au (Martien Verbruggen) writes:
:How do you know that your pipe open actually succeeded?

This is remarkably difficult to discern.

--tom
-- 
     "... an initial underscore already conveys strong feelings of
      magicalness to a C programmer."
	--Larry Wall in <1992Nov9.195250.23584@netlabs.com>


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

Date: 24 Jul 1998 19:56:08 GMT
From: mike@stok.co.uk (Mike Stok)
Subject: Re: future date in epoch time
Message-Id: <6paoso$j0m@news-central.tiac.net>

In article <6p9r9g$oqn$1@nnrp1.dejanews.com>,
 <sjborden@my-dejanews.com> wrote:
>Does anyone  have any ideas how to take a future date (i.e. 12/31/98) and
>convert it to epoch time?

Perl 5 comes with Time::Local which is (I think) safe for dates between
1970 and some time in 2038, and there are other modules available on CPAN
for manuipulating dates & times (you can find CPAN, the comprehensive perl
archive network, off http://www.perl.com)

  DB<1> use Time::Local

  DB<2> $time = timelocal 0, 0, 0, 31, 12 - 1, 1998 - 1900

  DB<3> print scalar localtime $time
Thu Dec 31 00:00:00 1998
  DB<4> print $time
915080400

Hope this helps,

Mike

-- 
mike@stok.co.uk                    |           The "`Stok' disclaimers" apply.
http://www.stok.co.uk/~mike/       |   PGP fingerprint FE 56 4D 7D 42 1A 4A 9C
http://www.tiac.net/users/stok/    |                   65 F3 3F 1D 27 22 B7 41
stok@colltech.com                  |            Collective Technologies (work)


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

Date: Fri, 24 Jul 1998 17:48:06 GMT
From: ionFreeman@my-dejanews.com
Subject: h2xs: Generating wrappers for Win32 dlls -- need GUID
Message-Id: <6pahcm$9ht$1@nnrp1.dejanews.com>

Hi!
    All I want is to be able to generate GUIDs from perl. I've come to believe
that:
1. in order to do that, I've got to call coCreateGuid
2. in order to do that, I've got to import objbase.h
3. in order to do that, I've got to run h2xs
4. in order to do that, I've got to use Scan.pm
5. in order to do that, I've got to use the Posix.pm supplied by Mike Heins on
ftp://ftp.minivend.com/pub/POSIX.pm
6. This is where it gets a little tricky. Neither closedir nor gensym is
exported by this module, and both are called by Scan.pm. Whatever shall I do?

    Again, I'm not attached to this process. If anyone knows of an easier way
to get a GUID, I'm completely open to it.

Yours in need,
Ion C. Freeman

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


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

Date: Fri, 24 Jul 1998 18:15:52 GMT
From: melspace@my-dejanews.com
Subject: Re: modifying a text file
Message-Id: <6paj0n$bnf$1@nnrp1.dejanews.com>

In article <35B87E1E.CD8DE3D9@shaw.wave.ca>,
  Rick Delaney <rick.delaney@shaw.wave.ca> wrote:
> Bob Shair (courtesy) wrote:
> >
> > Many thanks for your suggestion.  In perlfaq5 I find an example which
> > does exactly what I need, and believed was not possible.
> > It updates one of the early records in a large file without reading
> > the entire file, much less needing to store two copies at once.
> >
> > In my environment, large files are running about 3GB, so the fewer
> > times we need to pass them, the better!
> >
> > This is the code, from perlfaq5, which works for me:
> > #!/usr/local/bin/perl
> > $RECSIZE = 205; # size of record, in bytes
> > $recno   = 3;  # which record to update
> > open(FH, "+<testfile") || die "can't update testfile: $!";
> > seek(FH, $recno * $RECSIZE, 0);
> > read(FH, $record, $RECSIZE) == $RECSIZE
> >                            || die "can't read record $recno: $!";
> > # munge the record
> > substr($record,0,16) = "Kilroy was here!";
>
> Watch out that the string on the right hand side is not greater than the
> substring you're assigning to or you will overwrite more than one
> record.
>
>     substr($record,0,16) =
>          sprintf "%-.16s", "Kilroy was here!  Truncate this part";
>
> > seek(FH, $recno * $RECSIZE, 0);
> > print FH $record;
> > close FH;
>
> --
> Rick Delaney
> rick.delaney@shaw.wave.ca
>

Thank you!  My code is working, much to my great relief.  You were all a big
help!  :-)

Mel

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


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

Date: 24 Jul 1998 14:50:49 -0400
From: Jay Rogers <jay@rgrs.com>
To: Christopher Johnson <hbmus009@csun.edu>
Subject: Re: Net::Telnet
Message-Id: <82hg076q2e.fsf@shell2.shore.net>

Christopher Johnson <hbmus009@csun.edu> writes:
>
> 	use Net::Telnet();
> 	$session = new Net::Telnet();
> 	$session->open(Host => $hostname, Port => $port);
> 
> 	while (1)
> 		{
> 		$ch = $session->get;
> 		print($ch);
> 		}
> 
> Now, the get method is supposed to read a character at a time from
> the stream. And it does, however the input stream from the telnet
> session seems to be line buffered.

No, that get() reads the next block of characters from the socket -
whatever is currently available.

> So 'get' doesn't return anything until the server sends a
> newline character.

Step through the code above in the debugger and all will become clear.

You're not seeing the output because your stdout is line buffered -
not the input from telnet.

Some use the following idiom to turn buffering off:

    select((select(STDOUT), $|=1)[$[]);

--
Jay Rogers
jay@rgrs.com


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

Date: 24 Jul 1998 13:38:09 -0600
From: snowhare@xmission.xmission.com (Snowhare)
Subject: Re: Perl Beautifier Home Page
Message-Id: <6panr1$3rt$1@xmission.xmission.com>



Nothing above this line is part of the signed message.

In article <MPG.10223e5d9eca7333989782@nntp.hpl.hp.com>,
Larry Rosler <lr@hpl.hp.com> wrote:
>[Posted to comp.lang.perl.misc and copy mailed.]
>
>In article <6pa3s9$320$1@xmission.xmission.com> on 24 Jul 1998 07:57:29 -
>0600, Snowhare <snowhare@xmission.xmission.com> says...
>...
>>     The subtle failure is that it
>> doesn't account for 'leap seconds' - this means that (at least in theory
>> and only if your OS is smart enough to include documented leap seconds) it
>> will 'slip' everytime it crosses a leap second boundary. Depending on the
>> location of the recurrance, this can ripple up through the date until it
>> does something like generate '199712312359' when it should have generated
>> '199801010000'.
>... 
>> As you can see, the slippage is nearly 1/2 minute from 1972 to 1997. Leap
>> seconds aren't a problem in the original code because it doesn't depend on
>> the absolute interval. :) 
>
>As was fully discussed recently (see DejaNews), this is totally 
>irrelevant to Epoch time.  Despite the frivolous documentation in 
>ctime(3C), there are no minutes with 61 (or 62!) seconds in this time 
>scale.  Every day is 86400 seconds, and every midnight is divisible by 
>86400.  This is a Good Thing.

It is only irrelevant _if_ your C compiler is POSIX compliant for its
gmtime (I believe somone pointed out that Solaris is not in that
discussion). And if it _is_ compliant, you have an even worse problem over
the long haul because POSIX specs that leap years happen every 4 years: 
*EVERY* 4 years. No year % 100 correction. This means POSIX compliant
gmtime can only be used for dates between 1901 and 2099. The lack of a
leap second correction also implies that your Epoch will slowly but surely
drift out of sync with real time - even without the leap year error to
toss in an accumulating 24 hour error periodically. 

I would say, overall, POSIX Epoch is a _bad thing_ and to be avoided when 
possible.

Benjamin Franz


Version: 2.6.2

iQCVAwUBNbjil+jpikN3V52xAQGXyQP/dLZV8Jg4azO4UUxPPZri8SEDLDWj0PVt
NZvCUP4BSRMGZmzdfGufsKQm7gQiGmMGLcpTwLib915MuGD9v/tEYijDmulJYclM
aOpehS1kBd0NLN/ldkFjK1lKFRg3/BFYHn+rbk4uMOLxsrM4D9tg64qvlQ0zCk/L
wHMIlKATLP4=
=olxw
-----END PGP SIGNATURE-----


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

Date: 24 Jul 1998 17:47:36 GMT
From: "joe" <jsteorts@csc.com>
Subject: Perl multiple installations
Message-Id: <01bdb72b$b82bd900$d445e1c0@C-105813.gsfc.nasa.gov>

I am planning on using Perl to write a web client that would periodically
request data from a web site.

I am using HP-UX 10.20.  I was running socket examples from Clinton Wong's "Web
Client Programming" book.  The verion of Perl on my machine did not recognize
the socket package.  So, I downloaded Perl 5.004 and the programs worked fine. 
Next I wanted to use the LWP library.  So I downloaded the following modules:
HTML Parser, MIME, DATA, libnet, MD5, and libwww.  I have not gotten them to
work yet.  Some of the tests failed when I was installing libwww.

Assumming I do get my Perl Client Working using the LWP library and assuming I
have to install this web client at multiple sites (all HP-UX10.20 but not
necessarily configured the same way),  will I have to go through the same
installation procedure for Perl and the LWP related modules at each site? Is
there an easier quicker way I can install at the various sites?

Would it make installation easier if I just used wrote my web client with Perl
version 5.004 without any extra packages?

Thank You


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

Date: Fri, 24 Jul 1998 19:17:05 GMT
From: serstad@my-dejanews.com
Subject: Re: Perl with SSI
Message-Id: <6pamji$geg$1@nnrp1.dejanews.com>

I saw a few answers to this post and it surprises me that the answers are so
complicated.  We do this all the time on our server:

1.  In the perl script change the content type to SSI:
      print "Content-Type: wwwserver/html-ssi\n\n";

2.  Now in your perl script just output a SSI Html file like you would
normally: print <<END; <HTML> <HEAD> <TITLE> Great Plains Calendar </TITLE>
</HEAD> <BODY BGCOLOR="#ffffff" ALINK="#ff0000" VLINK="#ff0000" 
LINK="#0000ff"> <!--#include virtual="/images/banner.txt"--> <HR> END


We do this all the time in our scripts so we don't have to continually mess
with our headers and footers, etc.

Yes, I know I could just parse the file from within the CGI script myself, but
this is MUCH more convenient (a little slower for the user, but not much
really).

We're using Website Pro 2.0 for NT btw....

 .sped.

In article <35B64FA1.B925A659@cse.unl.edu>,
  Ryan Morgan <rmorgan@cse.unl.edu> wrote:
> hello
>
> is there anyway to enbed ssi directives within perl scripts?   I know
> that you can set up which files are parsed for ssi using the SetHandler
> command (in the apache config.) , but when the html is generated from a
> perl script, (eg.. login.pl)  the web server wont parse it since its
> not coming from a file with a .shtml extension.  Anyone have a work
> around?
>
> any help would be greatly appreciated,
>
> -rpm
>
>

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


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

Date: 24 Jul 1998 18:08:44 GMT
From: "Sabre Taylor" <nonspammers.cut.after.the.period.hot_redox@hotmail.com>
Subject: reference passing seems odd
Message-Id: <01bdb72e$0c54bae0$c1620c8a@lnxcompaq.lexis-nexis.com>

Got some odd results (at least to me). Can anybody explain
why the "my" is needed?

% quick         <- running my script without the "my"

% quick         <- after "my" added
jan feb mar         
%	


Sabre


-------------here's the script-------------

#!/usr/local/bin/perl5

@barney= qw (
    jan
    feb
    mar
);

&foo (\@barney);

sub foo {
    my($pointer)=@_;    # first run, this line was $pointer=@_;
    print "@$pointer\n";
}



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

Date: Fri, 24 Jul 1998 11:29:51 -0700
From: lr@hpl.hp.com (Larry Rosler)
Subject: Re: reference passing seems odd
Message-Id: <MPG.1022727840c73da1989746@nntp.hpl.hp.com>

In article <01bdb72e$0c54bae0$c1620c8a@lnxcompaq.lexis-nexis.com> on 24 
Jul 1998 18:08:44 GMT, Sabre Taylor 
<nonspammers.cut.after.the.period.hot_redox@hotmail.com> says...
 ...
> sub foo {
>     my($pointer)=@_;    # first run, this line was $pointer=@_;
>     print "@$pointer\n";
> }

Second time today!  It's the parens that are doing it, not the 'my'.  If 
you wrote

      my $pointer = @_;

you would get the same wrong result.

In Perl, expressions are evaluated in 'list context' or 'scalar context' 
(among others).  In effect, the type of the lvalue determines how the 
rvalue is evaluated.  To a C programmer, this is very spooky indeed.

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


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

Date: 24 Jul 1998 19:06:37 GMT
From: william@host.ott.igs.net (William Wueppelmann)
Subject: Re: regexp question
Message-Id: <6palvt$be7$1@news.igs.net>

Tim Gray (tim@hcirisc.cs.binghamton.edu) wrote:

: I am trying to come up with a regexp that will match the size
: attribure in an HTML <FONT> tag and am failing miserably.

: Why doesn't this expression
: m/<font.*?\s(SIZE=.*?)[>\s]/

: match this string?
: <font COLOR="#006600" SIZE="+1">

Is '*?' supposed do something? (It may, but it seems to me like an error.)

Try:

/<font.*\s(SIZE=[^>\s]*)/i

I'd use the 'i' switch unless you're confident that your HTML coding has
been done to an extremely high degree of consistency. 

William



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

Date: 24 Jul 1998 12:20:14 -0700
From: hirano@Xenon.Stanford.EDU (Kelly Hirano)
Subject: Re: regexp question
Message-Id: <6pampe$ju2@Xenon.Stanford.EDU>

In article <6palvt$be7$1@news.igs.net>,
William Wueppelmann <william@host.ott.igs.net> wrote:
>Tim Gray (tim@hcirisc.cs.binghamton.edu) wrote:
>
>: I am trying to come up with a regexp that will match the size
>: attribure in an HTML <FONT> tag and am failing miserably.
>
>: Why doesn't this expression
>: m/<font.*?\s(SIZE=.*?)[>\s]/
>
>: match this string?
>: <font COLOR="#006600" SIZE="+1">
>
>Is '*?' supposed do something? (It may, but it seems to me like an error.)

the '?' makes the match non-greedy instead of greedy. that is, it looks for
the shortest possible matchi instead of the longest. 
-- 
Kelly William Hirano	                    Stanford Athletics:
hirano@cs.stanford.edu	                 http://www.gostanford.com/
hirano@alumni.stanford.org      (WE) BEAT CAL (AGAIN)! 100th BIG GAME: 21-20


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

Date: Fri, 24 Jul 1998 21:19:52 +0200
From: Michael Agbaglo <byteshifter@shifted-bytes.de>
Subject: socket trouble: why does it hang ?
Message-Id: <35B8DE58.B1A76C4@shifted-bytes.de>

This is a multi-part message in MIME format.
--------------ADB3F6074E037F23FF066675
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

the attached piece hangs in the loop - I don't know why ... It's derived
from an example from the Camel book.
--------------ADB3F6074E037F23FF066675
Content-Type: text/plain; charset=us-ascii; name="yo"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="yo"

#!/usr/bin/perl

use Socket;

$PORT = getservbyname(lc $PORT, lc $PROTOCOL) unless $PORT =~ /^\d+$/;

socket( S, PF_INET, SOCK_STREAM, getprotobyname( lc $PROTOCOL )) or die "socket $!";
connect( S, sockaddr_in( $PORT, inet_aton( $MX ))) or die "connect $!";
select(( select(S), $| = 1)[0]);

	print while(<S>);
	close (S) or die "close $!";

	exit;

--------------ADB3F6074E037F23FF066675--



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

Date: 24 Jul 1998 13:52:39 -0400
From: Dean Pentcheff <dean@mail.biol.sc.edu>
Subject: Re: Text processing question
Message-Id: <m3lnpjw2zc.fsf@mail.biol.sc.edu>

Eric Williams <ewilliams@wesleyan.edu> writes:
> I have lots of different ascii files with columns of data that aren't
> necessarily formatted the same from file to file. Also some of the
> columns have a blank (whitespace) entries occassionally. I need to read
> in all the data, put a substitute string in for any blank entries, merge
> this information with properly formatted files of similar data sorted by
> the value of the first column of data, and toss out any duplicate lines
> of information between the files. An example of the file that I am
> cleaning up looks like this:
> 
> 45676.3671  7.058  0.087  0.128  0.194 1,B
> 45944.4704  7.076  0.089  0.100  0.177 3,M
> 45945.4773  7.033  0.068  0.121  0.179 3,M
> 45946.3938  7.051            0.117  0.184 3,M
> 45947.3817  7.067  0.078  0.103  0.176 3,M
> 45948.3526  7.072  0.075  0.104  0.191 3,M
> 45950.3775  7.069  0.070            0.172 3,M
> 45951.3732  7.060            0.120  0.190 3,M
> 45952.3724  7.069  0.093  0.118  0.187 3,M
> 
> Each line of data is one record and must remain intact, again sorted by
> the value of the first column.
> 
> Any recommendations? My instinct is that this should be setup in some
> sort of database instead of just ascii files but I have no experience
> with that and have inherited hundreds of these ascii files already and
> have dozens of update files to merge into them.

Well... if you'll be doing this "a lot", then a database might be a
good way to go.  But if this is pretty much a one-shot, or you do it
seldom, then it's overkill.  

First, I'll make an assumption: your data really are aligned by
columns.  In the sample you give, things aren't quite lined up.  I'm
going to assume that was a transcription error, and doesn't reflect
the "real" data.  If the "real" data really do look like the example,
you'll have big trouble, since it is not really possible to tell which
fields are missing.  You could do it with some nasty code that
extracts all the fields, then reexamines the line for long whitespace
segments and assumes that's where the missing fields are...  Ugly.  

The following solution will work only if the columns really line up:

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

my($missing) = " .   ";  # The "missing value" string
my(%all);            

while (<>) {
    my(@data) = unpack("a10 a7 a7 a7 a7 a4", $_);
    foreach (@data) {
        s/^\s+//;
        s/\s+$//;
        $_ = $missing unless $_;
    }
    $all{$data[0]} = join(" ", @data[1 .. $#data]);
}

for (sort { $a <=> $b } keys %all) {
    print "$_ $all{$_}\n";
}


The %all hash is going to end up with all the data lines.  Whenever
you hear the phrase "removing duplicates", think "hash" in Perl.  This
code will store only the last occurring line with a given initial
key.  If one was already in the hash, the later one(s) will replace
it.

The main while() loop reads all lines from all filenames that are
supplied on the commandline: that should be everything you want to
merge in one shot.

The unpack() line breaks up the datalines into a list based simply on
string segments.  There is a rich set of possible things you can do
with pack() and unpack() -- see the Perl documentation.  Note that
spaces in the template string are ignored, and are just there for
clarity.  

The foreach() loop goes through each of the data elements, stripping
out leading and trailing whitespace, and replacing any empty elements
with the official "missing value" string.

The join() line reassembles the line elements back into a string,
and stores them in the %all hash, keyed by the first field value.

The final for() loop iterates through the elements of the %all array
sorted by the key values and prints them out to standard output.  

Now, if Randal Schwartz had replied to this message, you'd have a
one-line solution.  The rest of us just slog along...

> Thanks if anyone has the patience to suggest a solution.

You're welcome - I had fun concocting it.

> Eric
> Perl newbie, but loving it!

Enjoy!

-Dean
-- 
N. Dean Pentcheff                                          <pentcheff@acm.org>
Biological Sciences, Univ. of South Carolina, Columbia SC 29208 (803-777-7068)


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

Date: Fri, 24 Jul 1998 15:21:21 -0400
From: Steven Jackson N3VZL <steve@gnosis.slac.com>
Subject: two "should-be" FAQ's re:arrays
Message-Id: <Pine.LNX.3.96.980724150427.5112A-100000@gnosis.slac.com>

Greetings --

I can't seem to find these in the docs. #1 has me dead in the water. #2 is
just a PITN.

1. How does one pass multiple arrays to functions while retaining their
individuality? When passing two 30 element arrays into one array, I get a
two element array, which actually prints out all 60 items! When passing
the two 30-el arrays into two arrays, I get two 1-el arrays, each showing
30 items. This is closer, but I need two 30-el arrays.

2. Is there a $ variable for the "current key" in a for loop through an
array? i.e.

for (@array) {
    print $_."\n";
}

I have five arrays that are all loaded up in parallel, so I want to print
the values of the other four arrays at the same key of the for loop
iteration. For now I keep a counter, but it's not very Perlesque.. 

$count = 0;
for (@array1) {
    print $_." ";
    print $array2[$count]." ";
    print $array3[$count]." ";
    print $array4[$count]." ";
    print $array5[$count]."\n";
    ++$count;
}

Thanks for any help!

Steve

--
Steve Jackson
Enterprise Client/Server Consultant
Amateur Radio Operator N3VZL - FN20nd

steve@slac.com



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

Date: 24 Jul 1998 12:38:31 -0700
From: hirano@Xenon.Stanford.EDU (Kelly Hirano)
Subject: Re: two "should-be" FAQ's re:arrays
Message-Id: <6panrn$la3@Xenon.Stanford.EDU>

In article <Pine.LNX.3.96.980724150427.5112A-100000@gnosis.slac.com>,
Steven Jackson N3VZL  <steve@gnosis.slac.com> wrote:
>Greetings --
>
>I can't seem to find these in the docs. #1 has me dead in the water. #2 is
>just a PITN.
>
>1. How does one pass multiple arrays to functions while retaining their
>individuality? When passing two 30 element arrays into one array, I get a
>two element array, which actually prints out all 60 items! When passing
>the two 30-el arrays into two arrays, I get two 1-el arrays, each showing
>30 items. This is closer, but I need two 30-el arrays.

use references. perldoc perlref.

my @array1 = (1, 2);
my @array2 = (3, 4);

&foo(\@array1, \@array2);

sub foo {
  my ($array1_ref, $array2_ref) = @_;

  print join(', ', @$array1_ref), "\n";
  print join(', ', @$array2_ref), "\n";
}

will produce:
1, 2
3, 4

>2. Is there a $ variable for the "current key" in a for loop through an
>array? i.e.
>
>for (@array) {
>    print $_."\n";
>}

my $i;
for $i (0 .. $#array1) {
  print qq($array1[$i] $array2[$i] $array3[$i]\n);
}

>I have five arrays that are all loaded up in parallel, so I want to print
>the values of the other four arrays at the same key of the for loop
>iteration. For now I keep a counter, but it's not very Perlesque.. 
>
>$count = 0;
>for (@array1) {
>    print $_." ";
>    print $array2[$count]." ";
>    print $array3[$count]." ";
>    print $array4[$count]." ";
>    print $array5[$count]."\n";
>    ++$count;
>}
>
>Thanks for any help!
>
>Steve
>
>--
>Steve Jackson
>Enterprise Client/Server Consultant
>Amateur Radio Operator N3VZL - FN20nd
>
>steve@slac.com
>


-- 
Kelly William Hirano	                    Stanford Athletics:
hirano@cs.stanford.edu	                 http://www.gostanford.com/
hirano@alumni.stanford.org      (WE) BEAT CAL (AGAIN)! 100th BIG GAME: 21-20


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

Date: Fri, 24 Jul 1998 15:58:50 -0400
From: Steven Jackson N3VZL <steve@gnosis.slac.com>
Subject: Re: two "should-be" FAQ's re:arrays
Message-Id: <Pine.LNX.3.96.980724155501.6334C-100000@gnosis.slac.com>

Thank you!

I discovered that either I'm an idiot, or I've tinkered with too many
languages. I was using

length(@array)

and coming up with "2" because @array was already giving the length of the
array at 44.

Since I know both arrays are equal length, I can just make a new array out
of the right half and reslice the original array as the left half of
itself.

I will look at perlref, though. Thanks for the quick reponse.

Steve

--
Steve Jackson
Enterprise Client/Server Consultant
Amateur Radio Operator N3VZL - FN20nd

steve@slac.com



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

Date: 12 Jul 98 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Special: Digest Administrivia (Last modified: 12 Mar 98)
Message-Id: <null>


Administrivia:

Special notice: in a few days, the new group comp.lang.perl.moderated
should be formed. I would rather not support two different groups, and I
know of no other plans to create a digested moderated group. This leaves
me with two options: 1) keep on with this group 2) change to the
moderated one.

If you have opinions on this, send them to
perl-users-request@ruby.oce.orst.edu. 


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

	subscribe perl-users
or:
	unsubscribe perl-users

to almanac@ruby.oce.orst.edu.  

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

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

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

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

The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.

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


------------------------------
End of Perl-Users Digest V8 Issue 3247
**************************************

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