[23933] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 6134 Volume: 10

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Sat Feb 14 18:10:35 2004

Date: Sat, 14 Feb 2004 15:10:10 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Sat, 14 Feb 2004     Volume: 10 Number: 6134

Today's topics:
    Re: Save the Bandwidth -smarter way to send the same fi <spam@thecouch.homeip.net>
    Re: Sending HASH over TCP <sammie-nospam@greatergreen.com>
    Re: Sending HASH over TCP <usenet@morrow.me.uk>
    Re: Symbolic Reference Problem <ihatespam@hotmail.com>
    Re: Symbolic Reference Problem <uri@stemsystems.com>
    Re: Symbolic Reference Problem <matthew.garrish@sympatico.ca>
    Re: Symbolic Reference Problem <noreply@gunnar.cc>
    Re: Symbolic Reference Problem <tadmc@augustmail.com>
        XML::Parser Style => Object <Mark.Fenbers@noaa.gov>
    Re: XML::Parser Style => Object <mirod@xmltwig.com>
    Re: XML::Parser Style => Object <Mark.Fenbers@noaa.gov>
        XML::Simple array size <Mark.Fenbers@noaa.gov>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Sat, 14 Feb 2004 18:01:03 -0500
From: Mina Naguib <spam@thecouch.homeip.net>
Subject: Re: Save the Bandwidth -smarter way to send the same file attachment to N users?
Message-Id: <SMxXb.120524$tk6.1893808@wagner.videotron.net>

-----BEGIN xxx SIGNED MESSAGE-----
Hash: SHA1



KK wrote:
> Hi, my program can send mails to several people (nothing to do with
> SPAM) with an attachment. However, in that process, everytime I send a
> mail to a new user, I need to upload the attachment. I have access to
> store files at the host & wondering if I can exploit this in saving
> bandwidth ? (to be precise, I have access to store files with login&
> passwd at cs.college.edu & its mail server is mail.cs.college.edu).
> I'm a newbie to perl programming, detailed explaination is highly
> appreciated.

Email was not designed with file attachments in mind.  Every time you 
send a binary attachment, it has to be ASCII-armoured which increases 
it's size, often 2-3 times the original binary file size.

In your case of multi-recipients, it's also a lot of space on the mail 
server.

HTTP and FTP are good ways to send files.  Put your file on such a 
server and include a simple link to it in your e-mail.

> Secondly, in this process of sending mails (using mail::sender
> package) to N (say 3000) users, do I choke the mail server? If yes,
> how to introduce delay in between sending mails?

To introduce delays between anything in perl, see `perldoc -f sleep`

Regarding choking the mailserver, it depends on the mailserver setup. 
Hotmail-style server farms will handle 3000 messages without a hitch, an 
old 386 sitting under someone's desk may choke.

If your email content is static (does not change from recipient to 
recipient) and all your recipients are on the same mail server, SMTP 
might not be the best way to go.  Talk to your email server 
administrator to see if (s)he can setup the "hard-link" trick for you, 
or if the mail software in use has any specific multi-recipient 
features.  This will cause the space requirements on the server to be 
the message size, and not the message size X number of recipients.  It 
will also alleviate the CPU and network load involved in talking SMTP 
for that many recipients.

-----BEGIN xxx SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFALqi0eS99pGMif6wRAhYzAJ0aLRZ7mk3l2LrG3HosGG6Rra8KZACeLjzv
WZC1plFBAWjhH++ZyNPQI0I=
=XWb8
-----END PGP SIGNATURE-----


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

Date: Sat, 14 Feb 2004 13:33:28 -0800
From: "Brad Walton" <sammie-nospam@greatergreen.com>
Subject: Re: Sending HASH over TCP
Message-Id: <CJGdncxMoou7CbPd4p2dnA@comcast.com>

> I would strongly recommend using the Storable module, and the
> functions nstore_fd and fd_retrieve. I have had success with this in
> the past. Each fd_retrieve will get one whole structure, so you can
> push several through the socket one after the other and they won't get
> mixed up.
>
> Ben

Thanks! This works great, and is very simple to use. I got it working with
the serialize [freeze, thaw] options. Here is what it looks like:

Client
-----------------
use Storable qw(freeze);
use IO::Socket::INET;

$TEST{'test'}{'test1'} = 1;
$TEST{'test2'}{'test3'} = 2;

$socket = IO::Socket::INET->new(PeerAddr => localhost,
PeerPort => 2002,
Proto => "tcp",
Type => SOCK_STREAM)
or die "Couldn't connect to $remote_host:$remote_port : $!\n";

# Serializing to memory
$serialized = freeze \%TEST;
print $socket $serialized;

# and terminate the connection when we're done.
close($socket);



Server

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

use Storable qw(thaw);
use IO::Socket::INET;

$server = IO::Socket::INET->new(LocalPort => 2002,
Type => SOCK_STREAM,
Reuse => 1,
Listen => 10 ) # or SOMAXCONN
or die "Couldn't be a tcp server on port $server_port: $!\n";

while ($client = $server->accept()) {
$data = <$client>;
%TEST = %{ thaw($data) };

foreach my $key (keys %TEST) {
print "\nValues for $key in \%TEST:\n";
foreach my $key2 (keys %{$TEST{$key}}) {
print "\t$key2 => ", ${$TEST{$key}}{$key2}, "\n";
}
}
}

close($server);




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

Date: Sat, 14 Feb 2004 22:55:46 +0000 (UTC)
From: Ben Morrow <usenet@morrow.me.uk>
Subject: Re: Sending HASH over TCP
Message-Id: <c0m91i$9hb$1@wisteria.csv.warwick.ac.uk>

"Brad Walton" <sammie-nospam@greatergreen.com> wrote:

I recommended using nstore_fd and fd_retrieve for several reasons:

1. you don't need to create the Storable structure in memory

2. nstore_fd creates a structure in network byte-order, which can be
   important if sending data between machines of different endianness
   (and does no harm otherwise)

3. fd_retrieve will find the end of the structure for you: as things
   stand you are reading one \n-terminated line, which will break if
   the frozen representation has "\n" in it, which is not at all
   unlikely.

> Client
> -----------------

use strict;
use warnings;

> use Storable qw(freeze);

use Storable qw(nstore_fd);

> use IO::Socket::INET;

my %TEST;

> $TEST{'test'}{'test1'} = 1;
> $TEST{'test2'}{'test3'} = 2;
> 
> $socket = IO::Socket::INET->new(PeerAddr => localhost,

my $socket = ...

> PeerPort => 2002,
> Proto => "tcp",
> Type => SOCK_STREAM)
> or die "Couldn't connect to $remote_host:$remote_port : $!\n";
> 
> # Serializing to memory
> $serialized = freeze \%TEST;
> print $socket $serialized;

nstore_fd \%TEST, $socket;

> # and terminate the connection when we're done.
> close($socket);
> 
> Server
> ------------------------

use strict;
use warnings;

> use Storable qw(thaw);

use Storable qw(fd_retrieve);

> use IO::Socket::INET;
> 
> $server = IO::Socket::INET->new(LocalPort => 2002,

my $server = ...

> Type => SOCK_STREAM,
> Reuse => 1,
> Listen => 10 ) # or SOMAXCONN
> or die "Couldn't be a tcp server on port $server_port: $!\n";
> 
> while ($client = $server->accept()) {

while (my $client = ...

> $data = <$client>;
> %TEST = %{ thaw($data) };

%TEST = %{ fd_retrieve $client };

> foreach my $key (keys %TEST) {
> print "\nValues for $key in \%TEST:\n";

Fix your indenting.

> foreach my $key2 (keys %{$TEST{$key}}) {
> print "\t$key2 => ", ${$TEST{$key}}{$key2}, "\n";
> }
> }
> }
> 
> close($server);

Ben

-- 
   If you put all the prophets,   |   You'd have so much more reason
   Mystics and saints             |   Than ever was born
   In one room together,          |   Out of all of the conflicts of time.
ben@morrow.me.uk |----------------+---------------| The Levellers, 'Believers'


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

Date: Sat, 14 Feb 2004 13:26:52 -0800
From: BigDaDDY <ihatespam@hotmail.com>
Subject: Re: Symbolic Reference Problem
Message-Id: <102t4jpq36p1e0f@corp.supernews.com>

Gunnar Hjalmarsson wrote:

> BigDaDDY wrote:
>> I previously had some repetitive code that I wanted to simplify.
>> The code was of the following nature:
>> 
>> #!/usr/bin/perl
>> 
>> while (<>){
>> 
>>    if (/Display vara/){chomp($vara = <>)}
> 
> Are you sure you don't mean:
> 
>      if (/Display vara/){chomp($vara = $_)}
> --------------------------------------^^
> 
>> I tried to simplify this with
>> 
>> while (<>){
>>    @vars = (vara, varb);
>>    foreach $variable (@vars){
>>       if (/Display $variable/){
>>          chomp($$variable = <>);
>>       }
>>    }
>> }
>> 
>> However, when I use strict, I get an error because I am using a
>> symbolic reference.
> 
> Yes, you do. Btw, you get other errors as well under strictures, don't
> you?
> 
>> Does anyone know an easier way of doing this?
> 
> I'd replace the array and the scalar variables with a hash:
> 
>      my %vars;
>      @vars{ qw/vara varb/ } = ();
>      while (<>) {
>          for my $key (keys %vars) {
>              if (/Display $key/) {
>                  chomp( $vars{$key} = $_ );
>                  last;
>              }
>          }
>      }
> 

Thanks for the response,

No I meant what I originally posted (i.e. chomp($$variable = <>);

The value I want to store in the perl variable is on the next line after 
the reg expression match.  I realize I can use other data types to store 
variables, but all my subroutines downstream are expecting scalar values.

Basically here is the format of my data I'm parsing

Case 1 1 1
Display vara
200
Display varb
300
Display varc
350
Display vard
400
Case 1 2 1
Display vara
250
Display varb
350
Display varc
450
Display vard
500
Case 1 3 1
 .
 .
 .

Therefore with a hash I would have repeated keys.  In addition, I would 
have to alter the entire structure of my program down stream. My program 
works as shown below, but I want to make it work under the use strict 
pragma without changing the data types used.

#!/usr/bin/perl


while (<>){

   @vars = (vara, varb);
   
   foreach $variable (@vars){
   
      if (/Display $variable/){
      
         chomp($$variable = <>);  
      }
   }

   if (/Display vard/){

      print "$vara, $varb\n";

# Do a bunch of stuff here since variable d occurs last for each case.  
#  Call subroutines on the fly with scalars passed to the subroutine

   }

}


By the way, I do get other errors under use strict since I haven't declared 
any of the variables.

Thanks for any help you can provide.






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

Date: Sat, 14 Feb 2004 22:00:47 GMT
From: Uri Guttman <uri@stemsystems.com>
Subject: Re: Symbolic Reference Problem
Message-Id: <x7u11t9v8x.fsf@mail.sysarch.com>


don't use symrefs. do you realize that you are just using the symbol
table which is a specialize hash tree instead of a general hash tree?
there is NO gain to using symrefs for data structures. the symbol table
should only be munged when you need to install or deal with
symbols. data structures do not fall under that rule.

so use a hash tree and stop with the symrefs. they will bite you someday
for sure if you keep using them.

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org


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

Date: Sat, 14 Feb 2004 16:53:02 -0500
From: "Matt Garrish" <matthew.garrish@sympatico.ca>
Subject: Re: Symbolic Reference Problem
Message-Id: <YMwXb.19011$sO4.1727484@news20.bellglobal.com>


"BigDaDDY" <ihatespam@hotmail.com> wrote in message
news:102t4jpq36p1e0f@corp.supernews.com...
> Gunnar Hjalmarsson wrote:
>
> > BigDaDDY wrote:
> >> I previously had some repetitive code that I wanted to simplify.
> >> The code was of the following nature:
> >>
> >> #!/usr/bin/perl
> >>
> >> while (<>){
> >>
> >>    if (/Display vara/){chomp($vara = <>)}
> >
> > I'd replace the array and the scalar variables with a hash:
> >
> >      my %vars;
> >      @vars{ qw/vara varb/ } = ();
> >      while (<>) {
> >          for my $key (keys %vars) {
> >              if (/Display $key/) {
> >                  chomp( $vars{$key} = $_ );
> >                  last;
> >              }
> >          }
> >      }
> >
>
> The value I want to store in the perl variable is on the next line after
> the reg expression match.  I realize I can use other data types to store
> variables, but all my subroutines downstream are expecting scalar values.
>
> Basically here is the format of my data I'm parsing
>
> Case 1 1 1
> Display vara
> 200
> Display varb
> 300
> Display varc
> 350
> Display vard
> 400
> Case 1 2 1
> Display vara
> 250
> Display varb
> 350
> Display varc
> 450
> Display vard
> 500
> Case 1 3 1
> .

Come on, think outside the bun! Store the key in a temp variable until you
get the value:

use strict;
use warnings;

my %vars;
my $tmp;

while (my $line = <DATA>) {

   chomp $line;
   next if $line =~ /^Case/i;
   next if $line =~ /^\s*$/;

   if ($line =~ /Display (\w+)/) {
      $tmp = $1;
   }
   else {
      if ($tmp) {
         push @{$vars{$tmp}}, $line;
         $tmp = undef;
      }
      else {
        die "Value without a key at line $.";
      }
   }
}

foreach my $key (sort keys %vars) {

   print "$key has the values:";
   map { print " $_" } @{$vars{$key}};
   print "\n";

}

__DATA__

Case 1 1 1
Display vara
200
Display varb
300
Display varc
350
Display vard
400
Case 1 2 1
Display vara
250
Display varb
350
Display varc
450
Display vard
500




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

Date: Sat, 14 Feb 2004 23:06:47 +0100
From: Gunnar Hjalmarsson <noreply@gunnar.cc>
Subject: Re: Symbolic Reference Problem
Message-Id: <c0m6iu$18g5fn$1@ID-184292.news.uni-berlin.de>

BigDaDDY wrote:
> Gunnar Hjalmarsson wrote:
>> I'd replace the array and the scalar variables with a hash:
>> 
>>     my %vars;
>>     @vars{ qw/vara varb/ } = ();
>>     while (<>) {
>>         for my $key (keys %vars) {
>>             if (/Display $key/) {
>>                 chomp( $vars{$key} = $_ );
>>                 last;
>>             }
>>         }
>>     }
> 
> Thanks for the response,
> 
> No I meant what I originally posted (i.e. chomp($$variable = <>);
> 
> The value I want to store in the perl variable is on the next line
> after the reg expression match.

I see. I was just guessing. ;-)

> I realize I can use other data types to store variables, but all my
> subroutines downstream are expecting scalar values.

I don't understand that. There is nothing that a scalar variable can
contain that you can't let a single hash element like

     $vars{vara}

carry. In this case it seems to be numbers or strings of digits.

> Basically here is the format of my data I'm parsing
> 
> Case 1 1 1
> Display vara
> 200
> Display varb
> 300
> Display varc
> 350
> Display vard
> 400
> Case 1 2 1
> Display vara
> 250
> Display varb
> 350
> Display varc
> 450
> Display vard
> 500
> Case 1 3 1
> .
> .
> .
> 
> Therefore with a hash I would have repeated keys.

Well, it's correct that hash keys must be unique, but I don't
understand how the use of scalar variables and symbolic references
would make a difference in that respect.

You could for instance use separate hashes for each case, or a hash of
hashes:

     %vars = {
       'Case 1 1 1' => {
         vara => 200,
         varb => 300,
       },
       'Case 1 2 1' => {
         vara => 250,
         varb => 350,
       },
     };

> In addition, I would have to alter the entire structure of my
> program down stream.

How? Why?

> My program works as shown below, but I want to make it work under
> the use strict pragma without changing the data types used.

That's not possible. What you can do is disabling strictures for just
that part of the code:

     if (/Display $variable/){
         no strict 'refs';
         chomp($$variable = <>);
     }

But the use of symbolic references should generally be avoided, and I
can't help feeling that using them is unnecessary in this case.

-- 
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl



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

Date: Sat, 14 Feb 2004 16:23:38 -0600
From: Tad McClellan <tadmc@augustmail.com>
Subject: Re: Symbolic Reference Problem
Message-Id: <slrnc2t7va.3vk.tadmc@magna.augustmail.com>

BigDaDDY <ihatespam@hotmail.com> wrote:
> Gunnar Hjalmarsson wrote:
>> BigDaDDY wrote:


>>> However, when I use strict, I get an error because I am using a
>>> symbolic reference.

>> I'd replace the array and the scalar variables with a hash:


> I realize I can use other data types to store 
> variables, but all my subroutines downstream are expecting scalar values.


A hash value *is* a scalar value!

So there is no problem with using a hash...


>          chomp($$variable = <>);  


   chomp ($vars{$variable} = <>);


 ... see?


>       print "$vara, $varb\n";

   print "$vars{vara}, $vars{varb}\n";


-- 
    Tad McClellan                          SGML consulting
    tadmc@augustmail.com                   Perl programming
    Fort Worth, Texas


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

Date: Sat, 14 Feb 2004 14:12:12 -0500
From: Mark J Fenbers <Mark.Fenbers@noaa.gov>
Subject: XML::Parser Style => Object
Message-Id: <402E730C.BB14A87A@noaa.gov>

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

Does anyone have some sample code I could examine to learn how to use the
XML::Parser package when Style is set to Objects?  E.g.,

my $p = new XML::Parser(Style => Objects");
$p-Parsefile("myfile.xml");
#  now what?

I'm still pretty green at Perl, and maybe "now what?" is obvious to more
experienced Perl coders, but not me...

Here is an excerpt of  "myfile.xml" which I'd like to be able to parse and make
use of the data somehow in my Perl code...

<?xml version="1.0 ?>
<site id="ZLPP1">
    <sigstages>
        <action>8.0</action>
        <flood>11.0</flood>
        <moderate>13.0</moderate>
        <major>17.0</major>
        <record>19.4</record>
    </sigstages>
    <observed>
        <datum>
            <stage units="feet">3.16</stage>
            <valid timezone="EST">2004/02/14 02:15</valid>
        </datum>
        <datum>
            <stage units="feet">3.10</stage>
            <valid timezone="EST">2004/02/14 02:45</valid>
        </datum>
    </observed>
</site>

--------------334CAD4D523B6BAA51510A64
Content-Type: text/x-vcard; charset=us-ascii;
 name="Mark.Fenbers.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Mark J Fenbers
Content-Disposition: attachment;
 filename="Mark.Fenbers.vcf"

begin:vcard 
n:Fenbers;Mark
tel;work:937-383-0430
x-mozilla-html:TRUE
org:National Weather Service;Ohio River Forecast Center
adr:;;;;;;
version:2.1
email;internet:Mark.Fenbers@noaa.gov
title:Sr. HAS Meteorologist
fn:Mark J Fenbers
end:vcard

--------------334CAD4D523B6BAA51510A64--



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

Date: Sat, 14 Feb 2004 22:55:26 +0100
From: Michel Rodriguez <mirod@xmltwig.com>
Subject: Re: XML::Parser Style => Object
Message-Id: <c0m04r$5h5$1@news-reader4.wanadoo.fr>

Mark J Fenbers wrote:
> Does anyone have some sample code I could examine to learn how to use the
> XML::Parser package when Style is set to Objects?  E.g.,
 > [...]
> I'm still pretty green at Perl, and maybe "now what?" is obvious to more
> experienced Perl coders, but not me...
 > [...]

Is there any specific reason why you chose to use XML::Parser? 
XML::Parser is really a low level module, that IMHO should not be used 
directly.

I think XML::Simple would work just fine in your case. It will read the 
XML into a Perl data structure. Or try XML::LibXML, or XML::Twig if you 
need more features. Look at the FAQ (
http://perl-xml.sourceforge.net/faq/ once again ;--) for more information.

-- 
Michel Rodriguez
Perl &amp; XML
http://www.xmltwig.com



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

Date: Sat, 14 Feb 2004 16:06:08 -0500
From: Mark J Fenbers <Mark.Fenbers@noaa.gov>
To: Michel Rodriguez <mirod@xmltwig.com>
Subject: Re: XML::Parser Style => Object
Message-Id: <402E8DC0.47169968@noaa.gov>

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

Yes,  XML::Simple works great for me!  Thanks for the tip!
Mark

Michel Rodriguez wrote:

> Mark J Fenbers wrote:
> > Does anyone have some sample code I could examine to learn how to use the
> > XML::Parser package when Style is set to Objects?  E.g.,
>  > [...]
> > I'm still pretty green at Perl, and maybe "now what?" is obvious to more
> > experienced Perl coders, but not me...
>  > [...]
>
> Is there any specific reason why you chose to use XML::Parser?
> XML::Parser is really a low level module, that IMHO should not be used
> directly.
>
> I think XML::Simple would work just fine in your case. It will read the
> XML into a Perl data structure. Or try XML::LibXML, or XML::Twig if you
> need more features. Look at the FAQ (
> http://perl-xml.sourceforge.net/faq/ once again ;--) for more information.
>
> --
> Michel Rodriguez
> Perl &amp; XML
> http://www.xmltwig.com

--------------C29378BCB0D2D166151C0118
Content-Type: text/x-vcard; charset=us-ascii;
 name="Mark.Fenbers.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Mark J Fenbers
Content-Disposition: attachment;
 filename="Mark.Fenbers.vcf"

begin:vcard 
n:Fenbers;Mark
tel;work:937-383-0430
x-mozilla-html:TRUE
org:National Weather Service;Ohio River Forecast Center
adr:;;;;;;
version:2.1
email;internet:Mark.Fenbers@noaa.gov
title:Sr. HAS Meteorologist
fn:Mark J Fenbers
end:vcard

--------------C29378BCB0D2D166151C0118--



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

Date: Sat, 14 Feb 2004 17:58:08 -0500
From: Mark J Fenbers <Mark.Fenbers@noaa.gov>
Subject: XML::Simple array size
Message-Id: <402EA800.65F281E7@noaa.gov>

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

In my sample XML file...

<main>
    <level1>
        <level2>whatever</level2>
        <level2>whatever</level2>
        <level2>whatever</level2>
        <level2>whatever</level2>
        <level2>whatever</level2>
         ...
    </level1>
</main>

I have an variable number of level2 tags.  Using XML::Simple, I can access the
value of the 4th one by something like this:

    my $main = XMLin("myfile.xml");
    print $main->{level1}->{level2}->[3]->{content};

But I really want to know how many level2 records there are.  I tried variations

of this:

    print scalar( $main->{level1}->{level2} );

but that gives me "ARRAY(0x80a2cb4)".  Can someone please help me formulate the
proper Perl hash array syntax to determine the number of elements of the level2
array??

Mark

--------------79187C7DE7E78B31A3576740
Content-Type: text/x-vcard; charset=us-ascii;
 name="Mark.Fenbers.vcf"
Content-Transfer-Encoding: 7bit
Content-Description: Card for Mark J Fenbers
Content-Disposition: attachment;
 filename="Mark.Fenbers.vcf"

begin:vcard 
n:Fenbers;Mark
tel;work:937-383-0430
x-mozilla-html:TRUE
org:National Weather Service;Ohio River Forecast Center
adr:;;;;;;
version:2.1
email;internet:Mark.Fenbers@noaa.gov
title:Sr. HAS Meteorologist
fn:Mark J Fenbers
end:vcard

--------------79187C7DE7E78B31A3576740--



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

Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>


Administrivia:

#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc.  For subscription or unsubscription requests, send
#the single line:
#
#	subscribe perl-users
#or:
#	unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.  

NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice. 

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

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

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


------------------------------
End of Perl-Users Digest V10 Issue 6134
***************************************


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