[30033] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 1276 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Feb 13 21:09:43 2008

Date: Wed, 13 Feb 2008 18:09:08 -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           Wed, 13 Feb 2008     Volume: 11 Number: 1276

Today's topics:
    Re: $browser->get($module_form); <joost@zeekat.nl>
    Re: Advice about cgi programming <banerjee.anirban@gmail.com>
        Fast checksums? <g_adams27@hotmail.SPAMBGONE.com>
    Re: Fast checksums? <1usa@llenroc.ude.invalid>
    Re: Fast checksums? <ced@blv-sam-01.ca.boeing.com>
    Re: Fast checksums? <1usa@llenroc.ude.invalid>
    Re: Fast checksums? <No_4@dsl.pipex.com>
    Re: Fast checksums? <1usa@llenroc.ude.invalid>
    Re: Fast checksums? <ben@morrow.me.uk>
    Re: oracle RAW data type and dbi <hjp-usenet2@hjp.at>
    Re: Problems with STDIN and POST data xhoster@gmail.com
    Re: Regex /(X*)/ <abigail@abigail.be>
        XML::Parser Q: The Char handler always returns '1' <mittra@juno.com>
    Re: XML::Parser Q: The Char handler always returns '1' <jimsgibson@gmail.com>
    Re: XML::Parser Q: The Char handler always returns '1' <ben@morrow.me.uk>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Wed, 13 Feb 2008 22:14:56 +0100
From: Joost Diepenmaat <joost@zeekat.nl>
Subject: Re: $browser->get($module_form);
Message-Id: <87skzwmucv.fsf@zeekat.nl>

"Gary" <gshine@netlink.info> writes:

> Trying to understand what the -> does please.
>
> Cannot find it in the perl docs etc.
> Gary 

It should be in perlref and perltoot at least. -> is (one of) the
dereferencing operators in perl. In cases where the left-hand side of ->
is an object (as in, a reference to a thing bless()ed into a package),
-> and the right hand side looks like a function call parameter list, ->
does a method lookup:

$object->method($arg1,$arg2);

here the method named "method" is looked up according to the inheritance
graph of whatever package (class) $object is blessed in, and calls it
with arguments $arg1 and $arg2 (and it passes $object too, as the first
argument, preceding the rest).

-- 
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/


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

Date: Wed, 13 Feb 2008 14:50:48 -0800 (PST)
From: newbiegalore <banerjee.anirban@gmail.com>
Subject: Re: Advice about cgi programming
Message-Id: <89608957-5c98-4266-a488-236220ff7fb7@b2g2000hsg.googlegroups.com>

On Feb 13, 6:02 pm, Jim Gibson <jimsgib...@gmail.com> wrote:
> In article
> <e748a974-5f40-44ee-b1c3-355b98dd2...@i7g2000prf.googlegroups.com>,
>
>
>
> newbiegalore <banerjee.anir...@gmail.com> wrote:
> > Hello everyone :-) ,
> >                              I am a newbie to Perl, but have
> > experience with other scripting languages. I am putting up this post
> > to ask for advice regarding what skills I would need to get a task
> > done. This might not be the most appropriate group, but since Perl is
> > used a lot for server back-end scripts, I guess a lot of people have
> > experience with using it for building web applications.
>
> > My task: I have bought a domain and now want to set up a website on
> > it.
>
> > What will the site do: Accept a string from the user, like Google does
> > (A very simple design). Then the site will check this string for the
> > presence of a substring. The output will be displayed in a simple text
> > box on the main page (to begin with).
>
> > If I have a script that will do this operation, I need to link the
> > input string to this script in the background and return the result.
> > Is CGI programming used to make this "glue" ? I could ask someone to
> > access the script directly on my site like
>
> >http://www.mysite.com/myscript<params> .. but I want to separate the
> > interface from my programs. Any advice would be greatly appreciated. I
> > know how to code in C, C++,Awk, Bash and some more languages. Sorry if
> > my questions seems overly naive :D.
>
> Perl is an excellent choice for writing CGI programs. You can't do the
> newer "Web 2.0" with CGI, but you can still do a lot. Even if you are
> planning to do the fancy stuff later, it is good to have a good
> grounding in CGI.
>
> Consider using the Perl CGI module. It has lots of methods for
> generating HTML and also for handling form data. It also has two
> different types of interfaces: function calls and object-oriented
> methods.
>
> Do 'perldoc CGI' at a command-line prompt to read the documentation on
> CGI. It should be installed with most Perls. If not, you can get it
> from CPAN <http://www.cpan.org>
>
> My recommendation is to use the object-oriented methods of CGI instead
> of the functions. It provides a cleaner interface and is a good
> introduction to OO in Perl. For generating HTML, I usually use plain
> old print statements rather than the CGI routines, and check out "here"
> documents. If you want to generate complex HTML pages, consider using a
> templating system (there are several on CPAN) or a content-management
> system.
>
> --
> Jim Gibson
>
>  Posted Via Usenet.com Premium Usenet Newsgroup Services
> ----------------------------------------------------------
>     ** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
> ----------------------------------------------------------
>                http://www.usenet.com

Thanks for a super-helpful answer :D


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

Date: Wed, 13 Feb 2008 17:25:51 -0500
From: George Adams <g_adams27@hotmail.SPAMBGONE.com>
Subject: Fast checksums?
Message-Id: <fovqpv02hlt@enews1.newsguy.com>

Hi, all.  I'm trying to make a simple backup program for myself that 
will check to see if certain files have been modifed before backing them 
up.  (It's got to be portable to multiple OSes that have Perl, but 
possibly not other handy tools like, say, rsync or some such).

Anyway, I had originally planned to use the Windows archive bit, or else 
file modification dates to determine if a file had been changed.  That 
turned out to be unreliable, though (and, in the case of the archive 
bit, impossible on Linux).  So I decided instead to create a checksum of 
the original file, then compare future versions of the file with the 
stored checksum to see if it's changed (and hence needs to be backed up).

This works... except it's really, really slow.  I started with SHA-1, 
but it was taking just too long.  I switched to MD5 and then CRC32, but 
even that was fairly slow.  And when the backup directory contains 
several gigs of files to check, it was just too much.

So, given the problem of "how can I tell if a file has been changed", am 
I tackling it the wrong way?  Should I be using some other method 
besides simply hashing an entire file (using whatever algorithm) and 
comparing it to a stored value?  Obviously backup software makers have 
solved this problem to make incremental backups pretty fast - what's the 
trick to it?

Thanks to anyone who can help.


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

Date: Wed, 13 Feb 2008 23:05:05 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: Fast checksums?
Message-Id: <Xns9A43B7F331B8Dasu1cornelledu@127.0.0.1>

George Adams <g_adams27@hotmail.SPAMBGONE.com> wrote in 
news:fovqpv02hlt@enews1.newsguy.com:

 
> I tackling it the wrong way?  Should I be using some other method 
> besides simply hashing an entire file (using whatever algorithm) and 
> comparing it to a stored value?  Obviously backup software makers have 
> solved this problem to make incremental backups pretty fast - what's the 
> trick to it?

I don't know if there is a trick to it, but why not check the modification 
time returned by stat?

Sinan

-- 
A. Sinan Unur <1usa@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)
clpmisc guidelines: <URL:http://www.rehabitation.com/clpmisc.shtml>



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

Date: Wed, 13 Feb 2008 15:39:48 -0800 (PST)
From: "comp.llang.perl.moderated" <ced@blv-sam-01.ca.boeing.com>
Subject: Re: Fast checksums?
Message-Id: <a7d0b237-4a83-4c86-8f84-5d1cb09cbccd@e10g2000prf.googlegroups.com>

On Feb 13, 2:25 pm, George Adams <g_adam...@hotmail.SPAMBGONE.com>
wrote:
> Hi, all.  I'm trying to make a simple backup program for myself that
> will check to see if certain files have been modifed before backing them
> up.  (It's got to be portable to multiple OSes that have Perl, but
> possibly not other handy tools like, say, rsync or some such).
>
> Anyway, I had originally planned to use the Windows archive bit, or else
> file modification dates to determine if a file had been changed.  That
> turned out to be unreliable, though (and, in the case of the archive
> bit, impossible on Linux).  So I decided instead to create a checksum of
> the original file, then compare future versions of the file with the
> stored checksum to see if it's changed (and hence needs to be backed up).
>
> This works... except it's really, really slow.  I started with SHA-1,
> but it was taking just too long.  I switched to MD5 and then CRC32, but
> even that was fairly slow.  And when the backup directory contains
> several gigs of files to check, it was just too much.
>
> So, given the problem of "how can I tell if a file has been changed", am
> I tackling it the wrong way?  Should I be using some other method
> besides simply hashing an entire file (using whatever algorithm) and
> comparing it to a stored value?  Obviously backup software makers have
> solved this problem to make incremental backups pretty fast - what's the
> trick to it?

Maybe timestamp as well as file size with a
fallback to SHA-1 or MD5 only if time/size are
unchanged.

--
Charles DeRykus


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

Date: Wed, 13 Feb 2008 23:54:15 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: Fast checksums?
Message-Id: <Xns9A43C0494F014asu1cornelledu@127.0.0.1>

"comp.llang.perl.moderated" <ced@blv-sam-01.ca.boeing.com> wrote in
news:a7d0b237-4a83-4c86-8f84-5d1cb09cbccd@e10g2000prf.googlegroups.com: 

> On Feb 13, 2:25 pm, George Adams <g_adam...@hotmail.SPAMBGONE.com>
> wrote:
>> Hi, all.  I'm trying to make a simple backup program for myself that
>> will check to see if certain files have been modifed before backing
>> them up.  (It's got to be portable to multiple OSes that have Perl,
>> but possibly not other handy tools like, say, rsync or some such).
>>
>> Anyway, I had originally planned to use the Windows archive bit, or
>> else file modification dates to determine if a file had been changed.
>>  That turned out to be unreliable, though (and, in the case of the
>> archive bit, impossible on Linux).  So I decided instead to create a
>> checksum of the original file, then compare future versions of the
>> file with the stored checksum to see if it's changed (and hence needs
>> to be backed up). 
>>
>> This works... except it's really, really slow.  I started with SHA-1,
>> but it was taking just too long.  I switched to MD5 and then CRC32,
>> but even that was fairly slow.  And when the backup directory
>> contains several gigs of files to check, it was just too much.
>>
>> So, given the problem of "how can I tell if a file has been changed",
>> am I tackling it the wrong way?  Should I be using some other method
>> besides simply hashing an entire file (using whatever algorithm) and
>> comparing it to a stored value?  Obviously backup software makers
>> have solved this problem to make incremental backups pretty fast -
>> what's the trick to it?
> 
> Maybe timestamp as well as file size with a
> fallback to SHA-1 or MD5 only if time/size are
> unchanged.

That is not going to save work.

If either file size or time stamp has changed, then the checksum needs 
to be recomputed (so that it can be checked the next time).

If neither has changed, the checksum needs to be recomputed just to be 
sure.

That is, the checksum needs to be recomputed for all the files on each 
run.

Sinan

-- 
A. Sinan Unur <1usa@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)
clpmisc guidelines: <URL:http://www.rehabitation.com/clpmisc.shtml>



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

Date: Thu, 14 Feb 2008 00:02:05 +0000
From: Big and Blue <No_4@dsl.pipex.com>
Subject: Re: Fast checksums?
Message-Id: <kZWdnUmzUrFjGS7aRVnyjwA@pipex.net>

A. Sinan Unur wrote:

> That is, the checksum needs to be recomputed for all the files on each 
> run.

Depends what you are trying to achieve.  Doing a checksum for each file 
every time means you have to read everything every time, which is rather 
unproductive.

Just checking the last mod time should be sufficient (it's what a backup 
system would do).  The assumption is that if something has changed the file 
*without* changing the mod time then that would mean it has reset the mod 
time after making the change deliberately, and the file didn't need to be 
backed up again.


-- 
              Just because I've written it doesn't mean that
                   either you or I have to believe it.


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

Date: Thu, 14 Feb 2008 00:14:32 GMT
From: "A. Sinan Unur" <1usa@llenroc.ude.invalid>
Subject: Re: Fast checksums?
Message-Id: <Xns9A43C3B9BF2B8asu1cornelledu@127.0.0.1>

Big and Blue <No_4@dsl.pipex.com> wrote in
news:kZWdnUmzUrFjGS7aRVnyjwA@pipex.net: 

> A. Sinan Unur wrote:
> 
>> That is, the checksum needs to be recomputed for all the files on
>> each run.
> 
> Depends what you are trying to achieve.  Doing a checksum for each
> file every time means you have to read everything every time, which is
> rather unproductive.
> 
> Just checking the last mod time should be sufficient (it's what a
> backup system would do).  The assumption is that if something has
> changed the file *without* changing the mod time then that would mean
> it has reset the mod time after making the change deliberately, and
> the file didn't need to be backed up again.

I agree with that. You snipped too much, changing the intended meaning of 
the snippet above. The point I was trying to make was that with the 
algorithm Charles DeRykus was proposing, one would have to compute to 
checksum for each and every file on each run, not saving any time at all.

Elsethread, I did indeed propose using the modification time for deciding 
if the file needs to be backed up again.

Sinan


-- 
A. Sinan Unur <1usa@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)
clpmisc guidelines: <URL:http://www.rehabitation.com/clpmisc.shtml>



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

Date: Thu, 14 Feb 2008 00:13:26 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Fast checksums?
Message-Id: <6mdc85-6072.ln1@osiris.mauzo.dyndns.org>


Quoth Big and Blue <No_4@dsl.pipex.com>:
> 
> Just checking the last mod time should be sufficient (it's what a backup 
> system would do).  The assumption is that if something has changed the file 
> *without* changing the mod time then that would mean it has reset the mod 
> time after making the change deliberately, and the file didn't need to be 
> backed up again.

Not necessarily. There may be a good reason the file needs that date but
the change in data should still be recorded. Under Unix this is what
ctime is for: changing the data and then fixing the mtime will update
the ctime, so dump(8) can tell the file needs dumping again.

Ben



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

Date: Wed, 13 Feb 2008 23:24:18 +0100
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: oracle RAW data type and dbi
Message-Id: <slrnfr6rgi.2lt.hjp-usenet2@hrunkner.hjp.at>

On 2008-02-13 11:25, Heinrich Mislik <Heinrich.Mislik@univie.ac.at> wrote:
> In article <fosetf024fq@drn.newsguy.com>, dcruncher4@aim.com says...
>>we are storing binary data in an oracle table as RAW data type. Oracle
>>converts RAW data type into hex values at the time of storing.

No. It converts the raw value to hex when you *read* it into a character
variable.

>>When I view the data thru sqlplus I see it as hex.

That's because sqlplus reads all columns as character types (it has to
print them, after all).


>>Obviously it has to be converted back to original value when we fetch it. 
>>It seems it is not happening.
>>
>>use DBD::Oracle qw(:ora_types);
>>$o_sth->bind_col(1,\$binvalue,{ ora_type => ORA_RAW } ) ;
>>
>>when I do print $binvalue, I see it as hex only? Why?
>>Curiously Pro-C converts that to original form.
>
> perldoc DBD::Oralce does not mention bin_col anywhere. It seems, that
> ora_types can only be used with bin_param.

perldoc DBI does specifically mention { ora_type => 97 } as an example
for a driver-specific attribute for bind_col.

However, it also says that the second parameter can be undef, which
doesn't seem to work, either:

Can't DBI::st=HASH(0xa5d52e0)->bind_col(2, undef,...), need a reference
to a scalar at ./raw_test line 23.

so it's probably not quite up to date.

	hp



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

Date: 13 Feb 2008 22:30:16 GMT
From: xhoster@gmail.com
Subject: Re: Problems with STDIN and POST data
Message-Id: <20080213173018.629$ft@newsreader.com>

SergioQ <sergio@warptv.com> wrote:
> On Feb 13, 2:36=A0pm, xhos...@gmail.com wrote:
>
> > "Failing miserably" is about as bad as "doesn't work". =A0What actually
> > happens?
> I see that there is PPOST data, and it has length, but what I read
> back is nothing.

Then check the return value of the "read" function and if it is undef
(as opposed to 0) see what is in $!.

Are you sure that whatever is generating these POST requests, or whatever
is proxying them to you, isn't lying about CONTENT_LENGTH?

Xho

-- 
-------------------- http://NewsReader.Com/ --------------------
The costs of publication of this article were defrayed in part by the
payment of page charges. This article must therefore be hereby marked
advertisement in accordance with 18 U.S.C. Section 1734 solely to indicate
this fact.


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

Date: 13 Feb 2008 22:59:05 GMT
From: Abigail <abigail@abigail.be>
Subject: Re: Regex /(X*)/
Message-Id: <slrnfr6tho.t9a.abigail@alexandra.abigail.be>

                                                           _
ulrich_martin@seznam.cz (ulrich_martin@seznam.cz) wrote on VCCLXXIX
September MCMXCIII in <URL:news:d33c34f4-2e9a-4760-97f1-ff2637e82d4c@v46g2000hsv.googlegroups.com>:
$$  Hello,
$$  
$$  I would like to ask you for help. Could anybody explain me, why regex
$$  "/(X*)/" is not able to catch X in string "aXXXb". Quantifier "*" in
$$  this regex is a greedy one and there is not anchor "^", so I would
$$  expect, that $1 would contain XXX. I know (I have read it), that it is
$$  possible to use + instead of *, but I would like to know, why the "*"
$$  quantifier doesn't catch it.

Because if a regexp can match in more than one way in the subject string,
it will match at the left most position.

/(X*)/ matches 0 or more X's. "aXXXb" starts with zero X's. So it matches
at the beginning of the string. With 0 X's.

$$  I have found this example in perlretut:
$$  Finally,
$$  "aXXXb" =~ /(X*)/; # matches with $1 = ''
$$  because it can match zero copies of 'X' at the beginning of
$$  the string.  If you definitely want to match at least one
$$  'X', use "X+", not "X*".


Right.


Abigail
-- 
use   lib sub {($\) = split /\./ => pop; print $"};
eval "use Just" || eval "use another" || eval "use Perl" || eval "use Hacker";


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

Date: Wed, 13 Feb 2008 13:48:50 -0800 (PST)
From: Swapnajit Mitra <mittra@juno.com>
Subject: XML::Parser Q: The Char handler always returns '1'
Message-Id: <4523029a-af15-4548-b98f-2944fb115123@d21g2000prf.googlegroups.com>

Here is the code fragments:

==============================================================
   # Parser command
   my $parser = new XML::Parser (ErrorContext => 2);
   $parser->setHandlers(Start  => \&start_handler
                   , Char      => \&char_handler
                   , End       => \&end_handler
                   , Default   => \&default_handler
                   );
   $retVal = $parser->parsefile($file);
 ...
sub char_handler {
   my ($p, $data) = @_;


   print "char_handler: data = *$data*\n";
==============================================================


The last print statement always prints '1' with the following input
(even for NAME or VALUE fields). Subroutines for Start or End seem to
work just fine.


==============================================================
<P1>
   <T1> T1_TXT </T1>
   <F1>
      <F2>
         <NAME> MY_NAME </NAME>
         <VALUE> 1 </VALUE>
      </F2>
 ...
==============================================================


Any help will be greatly appreciated.


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

Date: Wed, 13 Feb 2008 16:09:08 -0800
From: Jim Gibson <jimsgibson@gmail.com>
Subject: Re: XML::Parser Q: The Char handler always returns '1'
Message-Id: <130220081609085468%jimsgibson@gmail.com>

In article
<4523029a-af15-4548-b98f-2944fb115123@d21g2000prf.googlegroups.com>,
Swapnajit Mitra <mittra@juno.com> wrote:

> Here is the code fragments:
> 
> ==============================================================
>    # Parser command
>    my $parser = new XML::Parser (ErrorContext => 2);
>    $parser->setHandlers(Start  => \&start_handler
>                    , Char      => \&char_handler
>                    , End       => \&end_handler
>                    , Default   => \&default_handler
>                    );
>    $retVal = $parser->parsefile($file);
> ...
> sub char_handler {
>    my ($p, $data) = @_;
> 
> 
>    print "char_handler: data = *$data*\n";
> ==============================================================
> 
> 
> The last print statement always prints '1' with the following input
> (even for NAME or VALUE fields). Subroutines for Start or End seem to
> work just fine.
> 
> 
> ==============================================================
> <P1>
>    <T1> T1_TXT </T1>
>    <F1>
>       <F2>
>          <NAME> MY_NAME </NAME>
>          <VALUE> 1 </VALUE>
>       </F2>
> ...
> ==============================================================
> 
> 
> Any help will be greatly appreciated.

It works on my system:

jgibson 54% cat swapnajit.pl
#!/usr/local/bin/perl
use strict;
use warnings;
use XML::Parser;

# Parser command
my $parser = new XML::Parser (ErrorContext => 2);
$parser->setHandlers(
    Start  => \&start_handler
  , Char      => \&char_handler
  , End       => \&end_handler
  , Default   => \&default_handler
);
my $retVal = $parser->parsefile('swapnajit.txt');

sub char_handler {
  my ($p, $data) = @_;
  print "char_handler: data = *$data*\n";
}
sub start_handler{}
sub end_handler{}
sub default_handler{}


jgibson 55% cat swapnajit.txt
<P1>
        <T1> T1_TXT </T1>
        <F1>
                <F2>
                        <NAME> MY_NAME </NAME>
                        <VALUE> 1 </VALUE>
                </F2>
        </F1>
</P1>

jgibson 56% perl swapnajit.pl
char_handler: data = *
*
char_handler: data = *  *
char_handler: data = * T1_TXT *
char_handler: data = *
*
char_handler: data = *  *
char_handler: data = *
*
char_handler: data = *          *
char_handler: data = *
*
char_handler: data = *                  *
char_handler: data = * MY_NAME *
char_handler: data = *
*
char_handler: data = *                  *
char_handler: data = * 1 *
char_handler: data = *
*
char_handler: data = *          *
char_handler: data = *
*
char_handler: data = *  *
char_handler: data = *
*


It helps if you post a short, complete program that demonstrates the
problem you are having. We can't tell what the problem is with the
information you have provided.

Here is a question for Perl gurus: how does one use the special file
handle DATA to feed data to parsefile(). parsefile(DATA) didn't work
for me:

Couldn't open DATA:
No such file or directory at swapnajit2.pl line 14

(with no use strict) and I had to make a separate file.

-- 
Jim Gibson

 Posted Via Usenet.com Premium Usenet Newsgroup Services
----------------------------------------------------------
    ** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
----------------------------------------------------------        
                http://www.usenet.com


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

Date: Thu, 14 Feb 2008 00:28:13 +0000
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: XML::Parser Q: The Char handler always returns '1'
Message-Id: <thec85-2372.ln1@osiris.mauzo.dyndns.org>


Quoth Jim Gibson <jimsgibson@gmail.com>:
> 
> Here is a question for Perl gurus: how does one use the special file
> handle DATA to feed data to parsefile(). parsefile(DATA) didn't work
> for me:
> 
> Couldn't open DATA:
> No such file or directory at swapnajit2.pl line 14

->parsefile accepts a filename, so passing it an (unquoted) string is
going to try to open that as a file. DATA is a filehandle, so you need
to pass it to ->parse; however, a simple unquoted DATA is a string,
which ->parse will try to read XML from directly. You have to pass a
proper reference:

    $XML->parse(\*DATA, ...);

You should always pass bareword filehandles like this: as you can see,
it's safer. Don't try to get away with just *DATA: bare globs are very
magical, and can behave rather oddly.

Ben



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

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 V11 Issue 1276
***************************************


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