[11359] in Perl-Users-Digest
Perl-Users Digest, Issue: 4959 Volume: 8
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Feb 26 11:19:39 1999
Date: Fri, 26 Feb 99 08:12:15 -0800
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, 26 Feb 1999 Volume: 8 Number: 4959
Today's topics:
Alpha release: Yag.pm (Yet another getopts). <bob@hadron.demon.co.uk>
ANNOUNCE: Data::Locations 4.3 <sb@sdm.de>
ANNOUNCE: Data::Locations 4.3 <sb@sdm.de>
ANNOUNCE: DBD-FreeTDS-0.01 for Sybase and MS SQLServer (Craig Spannring)
ANNOUNCE: GPS-Garmin-0.02 <joaop@iscsp.utl.pt>
ANNOUNCE: Image::Grab 0.9.1 mah@everybody.org
Announce: mywebget.pl v1999.0210 - Batch get updates fr (Jari Aalto+mail.emacs)
ANNOUNCE: New Module SecurID::ACEdb <Dave.Carrigan@cnpl.enbridge.com>
ANNOUNCE: Perl Power Tools to the rescue! <tchrist@mox.perl.com>
Anonymous subs, closure, and packages (Ed Morris)
Re: Anonymous subs, closure, and packages <zenin@bawdycaste.org>
Re: Anonymous subs, closure, and packages (Bart Lateur)
any perl moudle deal with math's question about log and vega@acer.net
Re: any perl moudle deal with math's question about log droby@copyright.com
anyone on OS2? <tavi367@ibm.net>
Re: anyone on OS2? (Daniel Norton)
Re: anyone on OS2? (Peter McMorran)
Re: anyone on OS2? (Dana Booth)
Special: Digest Administrivia (Last modified: 12 Dec 98 (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: 23 Feb 1999 17:02:53 GMT
From: Bob Camp <bob@hadron.demon.co.uk>
Subject: Alpha release: Yag.pm (Yet another getopts).
Message-Id: <7aumvt$tbn$1@play.inetarena.com>
I have put an alpha release of Yag.pm (Yet another getopts) on my web site
for evaluation before a formal release.
The package can be obtained from: http://www.hadron.demon.co.uk
------------
Yag.pm (Yet another getopts), Version 0.2.3
Copyright 1998/1999, Bob Camp
All rights reserved.
This is an alpha release of Yag (Yet Another Getopts). The purpose of this
release is to identify any problems with the package before a user release
is made.
There must be ten thousand other getopts:
Why is Yag worthy of consideration?
-----------------------------------
Yag is possibly a misnomer, although it is snappy and short (a good thing
for non-exported function names).
Yag is designed to do as much front end processing as is possible for the
command line, including positional arguments. In its default mode it will
process all of the command line according to descriptors in the options
hash, report all errors on these and exit if any problems occurred. For
many applications: When Yag returns input and output streams will be
already opened. If Yag fails to return then comprehensive error reports
are generated and the program exits.
These are some of the features available:
o Yag is fully configurable.
o Not hard wired to use @ARGV so may be used for multiple purposes.
o Help is integral with the option descriptors.
o Support for '-s', '-long', '--long' options.
o Support for grouping of short options.
o Support for logical flags with negator prefix.
o Support for old style '-x<string>' syntax.
o Support for '--long arg' and '--long=arg' syntax.
o Support for predefined types, ie, '--logical-option=yes'.
o Support for no argument, optional argument and required argument types.
o Comprehensive control of default values.
o Control over multiple use of options and what to do with the arguments.
o Control over where values are stored, anonymous or named, per option.
o Use of scalars and arrays to store values.
o Concatenation available for scalars and arrays.
o Flag variables for indication of option use.
o Immediate code for execution on option being used.
o Type checking of arguments, including:
o Multiple types.
o Consistency checks for concatenated values.
o Path checking for (non)existence.
o Comprehensive checking of the options hash to avoid:
o Bad flag groups.
o Ambiguous option naming.
o Collisions on variable spaces.
o Automatic opening of files.
o File support functions for:
o Opening and closing files.
o Generation of anonymous type globs for file handles.
o Optional change of permissions.
o Simple and transparent handling for stdin/stdout and file.
o Full support for appending.
o Everything can be done with lexically scoped variables.
o No use of main:: name space.
o Collision detection.
o Functions to interrogate the options hash.
o Can permute positional arguments.
o Full support for '--'.
o Simple and transparent use of aliases, ie '-o' => '--Output-file'.
o Three prebuilt options may optionally be appended.
o --version, trivial version report for the main program.
o --help, sophisticated help function with regular expression matching of
argument names (includes all aliases). Or simply '--help'.
o --read-options, reads options from the given file and pushes them
onto the argument stack.
o Help shows value of the options after command line processing.
o Several support functions available.
o Flexibility in the way it may be used.
Yag is distributed under the same conditions as perl itself.
This program is free software; you can redistribute it and/or modify
it under the terms of either:
a) the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or
b) the "Artistic License" which comes with this Kit.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either
the GNU General Public License or the Artistic License for more details.
-oOo-
Bob Camp
--
Cygnus Technical Consulting
Analogue and digital ic design.
bob@hadron.demon.co.uk
www.hadron.demon.co.uk
------------------------------
Date: 26 Feb 1999 12:33:38 GMT
From: Steffen Beyer <sb@sdm.de>
Subject: ANNOUNCE: Data::Locations 4.3
Message-Id: <7b64b2$gih$2@solti3.sdm.de>
I am glad to announce version 4.3 of my module "Data::Locations":
=========================================
Package "Data::Locations" Version 4.3
=========================================
This package is available for download either from my web site at
http://www.engelschall.com/u/sb/download/
or from any CPAN (= "Comprehensive Perl Archive Network") mirror server:
http://www.perl.com/CPAN/authors/id/STBEY/
Prerequisites:
--------------
Perl version 5.004 (subversion 0) or higher.
What's new in version 4.3:
--------------------------
Version 4.3 is primarily a bugfix release.
The bug that appeared with version 5.005 of Perl which caused statements
like
print $location "Text";
to fail is now fixed.
Moreover, little improvements (like slightly better parameter checking
there and then) as well as a new regression test suite (for "make test")
have been added.
The current implementation of this module is still problematic in that
all locations are global variables internally.
Hopefully I will be able to fix this in the next release (version 5.0)
of this module which is currently under construction.
Because version 5.0 will most likely NOT be fully backwards compatible,
I decided to release this intermediate version 4.3 rather than to wait
and fix all the problems in one shot.
What does it do:
----------------
Data::Locations - magic insertion points in your data
Did you already encounter the problem that you had to produce some
data in a particular order, but that some piece of the data was still
unavailable at the point in the sequence where it belonged and where
it should have been produced?
Did you also have to resort to cumbersome and tedious measures such
as storing the first and the last part of your data separately, then
producing the missing middle part, and finally putting it all together?
In this simple case, involving only one later-on-insertion, you might
still put up with this solution.
But if there is more than one later-on-insertion, requiring the handling
of many fragments of data, you will probably get annoyed and frustrated.
You might even have to struggle with limitations of the file system of
your operating system, or handling so many files might considerably slow
down your application due to excessive file input/output.
And if you don't know exactly beforehand how many later-on-insertions
there will be (if this depends dynamically on the data being processed),
and/or if the pieces of data you need to insert need additional (nested)
insertions themselves, things will get really tricky, messy and troublesome.
In such a case you might wonder if there wasn't an elegant solution to
this problem.
This is where the "Data::Locations" module comes in: It handles such
insertion points automatically for you, no matter how many and how deeply
nested, purely in memory, requiring no (inherently slower) file input/output
operations.
(The underlying operating system will automatically take care if the amount
of data becomes too large to be handled fully in memory, though, by swapping
out unneeded parts.)
Moreover, it also allows you to insert the same fragment of data into
SEVERAL different places.
This increases space efficiency because the same data is stored in
memory only once, but used multiple times.
Potential infinite recursion loops are detected automatically and
refused.
In order to better understand the underlying concept, think of
"Data::Locations" as virtual files with almost random access:
You can write data to them, you can say "reserve some space here
which I will fill in later", and continue writing data.
And you can of course also read from these virtual files, at any time,
in order to see the data that a given virtual file currently contains.
When you are finished filling in all the different parts of your virtual
file, you can write its contents to a physical, real file this time, or
process it otherwise (purely in memory, if you wish).
Note that this module handles your data completely transparent, which
means that you can use it equally well for text AND binary data.
You might also be interested to know that this module and its concept
has already heavily been put to use in the automatic code generation
of large software projects.
Legal issues:
-------------
This package with all its parts is
Copyright (c) 1997, 1998, 1999 by Steffen Beyer.
All rights reserved.
This package is free software; you can redistribute it and/or
modify it under the same terms as Perl itself, i.e., under the
terms of the "Artistic License" or the "GNU General Public License".
Please refer to the files "Artistic.txt" and "GNU_GPL.txt" in
this distribution for details!
Author's note:
--------------
If you have any questions, suggestions or need any assistance, please
let me know!
I hope you will find this module beneficial!
Yours sincerely,
--
Steffen Beyer <sb@engelschall.com>
http://www.engelschall.com/u/sb/download/ (Free Perl and C Software
http://www.perl.com/CPAN/authors/id/STBEY/ for Download)
New: Build'n'Play 2.1.0 (all-purpose Unix batch installation tool)
http://www.oreilly.de/catalog/perlmodger/bnp.html
------------------------------
Date: 25 Feb 1999 14:36:28 GMT
From: Steffen Beyer <sb@sdm.de>
Subject: ANNOUNCE: Data::Locations 4.3
Message-Id: <7b3n5c$lsf$1@play.inetarena.com>
I am glad to announce version 4.3 of my module "Data::Locations":
=========================================
Package "Data::Locations" Version 4.3
=========================================
This package is available for download either from my web site at
http://www.engelschall.com/u/sb/download/
or from any CPAN (= "Comprehensive Perl Archive Network") mirror server:
http://www.perl.com/CPAN/authors/id/STBEY/
Prerequisites:
--------------
Perl version 5.004 (subversion 0) or higher.
What's new in version 4.3:
--------------------------
Version 4.3 is primarily a bugfix release.
The bug that appeared with version 5.005 of Perl which caused statements
like
print $location "Text";
to fail is now fixed.
Moreover, little improvements (like slightly better parameter checking
there and then) as well as a new regression test suite (for "make test")
have been added.
The current implementation of this module is still problematic in that
all locations are global variables internally.
Hopefully I will be able to fix this in the next release (version 5.0)
of this module which is currently under construction.
Because version 5.0 will most likely NOT be fully backwards compatible,
I decided to release this intermediate version 4.3 rather than to wait
and fix all the problems in one shot.
What does it do:
----------------
Data::Locations - magic insertion points in your data
Did you already encounter the problem that you had to produce some
data in a particular order, but that some piece of the data was still
unavailable at the point in the sequence where it belonged and where
it should have been produced?
Did you also have to resort to cumbersome and tedious measures such
as storing the first and the last part of your data separately, then
producing the missing middle part, and finally putting it all together?
In this simple case, involving only one later-on-insertion, you might
still put up with this solution.
But if there is more than one later-on-insertion, requiring the handling
of many fragments of data, you will probably get annoyed and frustrated.
You might even have to struggle with limitations of the file system of
your operating system, or handling so many files might considerably slow
down your application due to excessive file input/output.
And if you don't know exactly beforehand how many later-on-insertions
there will be (if this depends dynamically on the data being processed),
and/or if the pieces of data you need to insert need additional (nested)
insertions themselves, things will get really tricky, messy and troublesome.
In such a case you might wonder if there wasn't an elegant solution to
this problem.
This is where the "Data::Locations" module comes in: It handles such
insertion points automatically for you, no matter how many and how deeply
nested, purely in memory, requiring no (inherently slower) file input/output
operations.
(The underlying operating system will automatically take care if the amount
of data becomes too large to be handled fully in memory, though, by swapping
out unneeded parts.)
Moreover, it also allows you to insert the same fragment of data into
SEVERAL different places.
This increases space efficiency because the same data is stored in
memory only once, but used multiple times.
Potential infinite recursion loops are detected automatically and
refused.
In order to better understand the underlying concept, think of
"Data::Locations" as virtual files with almost random access:
You can write data to them, you can say "reserve some space here
which I will fill in later", and continue writing data.
And you can of course also read from these virtual files, at any time,
in order to see the data that a given virtual file currently contains.
When you are finished filling in all the different parts of your virtual
file, you can write its contents to a physical, real file this time, or
process it otherwise (purely in memory, if you wish).
Note that this module handles your data completely transparent, which
means that you can use it equally well for text AND binary data.
You might also be interested to know that this module and its concept
has already heavily been put to use in the automatic code generation
of large software projects.
Legal issues:
-------------
This package with all its parts is
Copyright (c) 1997, 1998, 1999 by Steffen Beyer.
All rights reserved.
This package is free software; you can redistribute it and/or
modify it under the same terms as Perl itself, i.e., under the
terms of the "Artistic License" or the "GNU General Public License".
Please refer to the files "Artistic.txt" and "GNU_GPL.txt" in
this distribution for details!
Author's note:
--------------
If you have any questions, suggestions or need any assistance, please
let me know!
I hope you will find this module beneficial!
Yours sincerely,
--
Steffen Beyer <sb@engelschall.com>
http://www.engelschall.com/u/sb/download/ (Free Perl and C Software
http://www.perl.com/CPAN/authors/id/STBEY/ for Download)
New: Build'n'Play 2.1.0 (all-purpose Unix batch installation tool)
http://www.oreilly.de/catalog/perlmodger/bnp.html
------------------------------
Date: 24 Feb 1999 16:49:49 GMT
From: cts@bangkok.office.cdsnet.net (Craig Spannring)
Subject: ANNOUNCE: DBD-FreeTDS-0.01 for Sybase and MS SQLServer
Message-Id: <7b1ajd$sqe$1@play.inetarena.com>
I am pleased to announce a sneak peek of a DBD module for Microsoft
SQLServer and Sybase. It is in the very early stages of development
and many parts of it are not implemented yet.
The main advantage of this driver is that it directly speaks the raw
TDS protocol and does not need any third party libraries. For more
information about TDS see the FreeTDS web page at
http://sunsite.unc.edu/freetds/
The current source code may be obtained via anonymous ftp at
ftp://freetds.internetcds.com/pub/freetds_dbd/
It will also be available on CPAN within a few days
Status as of February 17, 1999-
* $dbh->login, $dbh->do are implemented.
* $dbh->prepare is partially implemented. (Placeholders are not
implemented yet.)
* $dbh->{} is implemented for setting some attributes, but not for
fetching them.
* $sth->execute is implemented and can handle multiple result sets
and COMPUTE columns.
* $sth->fetchrow, $sth->fetch_hashref are implemented for most of the
server datatypes.
* $sth->finish is implemented.
* $sth->{} will fetch the attributes 'NAME', 'NUM_OF_FIELDS',
and 'more_results'. ('more_results' is for handling multiple
result sets returned from a single query.)
------------------------------
Date: 24 Feb 1999 16:50:15 GMT
From: Joao Pedro Goncalves <joaop@iscsp.utl.pt>
Subject: ANNOUNCE: GPS-Garmin-0.02
Message-Id: <7b1ak7$sqo$1@play.inetarena.com>
Hi,
Just brought to the world a perl interface to the GPS Garmin receiver.
Anyone interessed can download it from
http://www.iscsp.utl.pt/joaop/work_in_progress/GPS-Garmin-0.02.tar.gz
Please mail me for suggestions and bug reports as it is quite useful for
me and would like some feed back for new functions (to see if is worth
the time :-) )
Joao Pedro Gongalves <joaop@iscsp.utl.pt>
------------------------------
Date: 24 Feb 1999 16:49:39 GMT
From: mah@everybody.org
Subject: ANNOUNCE: Image::Grab 0.9.1
Message-Id: <7b1aj3$sqd$1@play.inetarena.com>
I'm releasing the following to see if there is interest in continued
developement. It needs just a little more work to reach 1.0.
NAME
Image::Grab - Perl extension for Grabbing images off the
Internet.
SYNOPSIS
use Image::Grab;
$pic = new Image::Grab;
# The simplest case of a grab
$pic->url('http://www.example.com/someimage.jpg')
$pic->grab;
# How to get at the image
open(DISPLAY, "| display -");
print DISPLAY $pic->image;
close(DISPLAY)
# A slightly more complicated case
$pic->url('.*logo.*\.gif');
$pic->refer('http://www.gtk.com');
$pic->grab;
# Get a weather forcast
$pic->url('msy.*\.gif');
$pic->refer('http://www.intellicast.com/weather/msy/content.shtml');
$pic->grab;
DESCRIPTION
Image::Grab is a simple way to get images with URLs that change
constantly.
Accessor Methods
The following are the accessor methods availible for any
Image::Grab object. Accessor methods are used to get or set
information for an object. For example,
$img->refer("http://www.yahoo.com");
would set the refer field and
$img->refer;
would return the information contained in the refer field.
refer
When you do a grab, this url will be given as the referring URL.
If the information contained in the 'url' property is not a URL,
then the information from the URL in the refer field will be
used to find the image. For example, if url="mac.*\.gif" and
refer="http://www.yahoo.com", then when a grab is performed, the
page at www.yahoo.com is searched to see if any images on the
page match the regular expression in url. The first one that
matches is grabbed.
url
The url that is ultimatly grabbed. This should be set before any
grab is done. It can be a straight url, a regular expression, or
an index for the image. For an example of a regular expression,
see the section on refer. Indexes begin with a pound sign ("#")
and are followed by a number that indicates the image on the
page. For instance, "#2" would find the second image on the page
pointed to by the refer.
date
The date that the image was last updated. The date is
represented in the number of seconds from epoch where epoch is
January 1, 1970.
md5
The md5 sum for the image. Usually, you shouldn\'t try to set
this field.
type
The type of information. Usually it will be a MIME type such as
"image/jpeg".
cookiefile
Where the cookiefile is located. Set this to the file containing
the cookies if you wish to use the cookie file for the image.
cookiejar
Usually only used internally. The cookiejar for the image.
image
The actual image. Usually, you should\'t try to set this field.
ua
Usually only used internally. The user agent used to get the
image.
Other Methods
realm($user, $password)
Provides a username/password pair for the realm the image is in.
getRealURL
Returns the actual URL of the image. This method is called
internally to determine the URL of the image if the information
contained in the URL field is not a url.
You can use this method to get the URL for an image if that is
all you need.
grab
Grab the image. url must contain an actual URL or information
that can produce a URL before this method can be used. If url
does not contain a URL, then getRealURL is called before the
image is fetched.
grab_new
Not Yet Implemented. Currently, it acts just like grab.
BUGS
It only understands as URLs strings that begin with "http://".
Perhaps URL should not be so overloaded. Perhaps I should have
'regexp' and 'index' accessor methods.
Ummm... I am sure there are others...
AUTHOR
Mark 'Hex' Hershberger <mah@everybody.org>
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: 24 Feb 1999 16:50:03 GMT
From: jari.aalto@poboxes.com (Jari Aalto+mail.emacs)
Subject: Announce: mywebget.pl v1999.0210 - Batch get updates from Http ftp dirs.
Message-Id: <7b1ajr$sqn$1@play.inetarena.com>
Download
http://www.perl.com/CPAN-local//scripts/
This is first public release.
jari
NAME
@(#) mywebget.pl - Perl Web URL retrieve program
SYNOPSIS
mywebget.pl http://example.com/ [URL] ..
mywebget.pl --file file-with-urls.txt
mywebget.pl --verbose --overwrite http://example.com/
mywebget.pl --verbose --overwrite --Output ~/dir/ http://example.com/
OPTIONS
General options
Create paths that do not exist in `lcd:' directives. Normally any
LCD command that fails to find the path would interrupt the program.
With this option the local directory is created as needed.
--Firewall FIREWALL
Use FIREWALL when accessing files via ftp:// protocol.
--file FILE
Read URLs from file. File can contains comments starting with # and
the syntax is:
# @(#) $HOME/.mywebget.default - Perl configuration file
#
# This is comment
# Another comment
file://absolute/dir/file-1.23.tar.gz
lcd:HOME/updates # chdir here
http://www.example.com/page.html
http://www.example.com/page.html save:/dir/dir/page.html
ftp://ftp.com/dir/file.txt save:xx-file.txt login:foo pass:passwd
lcd:$HOME/download-kit
ftp://ftp.com/dir/kit-1.1.tar.gz new:
Possible keywords in the ftp:// line are
`lcd:DIRECTORY'
Set Local download directory to DIRECTORY. Any environment
variables are substituted in path name. If this tag is found, it
replaces setting of --Output. If path is not a directory,
terminate with error. See also --create-paths.
`login:LOGIN-NAME'
Ftp login. Default value used is "ftp".
`new:'
If this is found from a current line, then the newest file will
be retrieved. This variable is reset to the value of `--new'
after the line has been processed.
`pass:PASSWORD'
Defulet value is generic mail\@some.com email address.
`regexp:REGEXP'
Get all afiles in ftp directory matching regexp. Keyword SAVE:
is ignored.
`save:LOCAL-FILE-NAME'
Save file under this name to local disk.
--new
Get newest file. If filename does not end to .asp .html .htm, then
it is considered that the URL point to some program or data file.
When new releases are announced, the version number in filename
usually tells which is the current one so getting harcoded file
with:
mtwebget.pl -o -v http://example.com/dir/program-1.3.tar.gz
is not usually good choice. Adding --new option to the command line
causes double pass: a) the whole http://example.com/dir/ is examined
for all files. b) files matching approximately filename program-
1.3.tar.gz are examined, sorted and file with latest version number
in a is retrieved.
--Output DIR
Before retrieving any files, chdir to DIR.
--overwrite
Allow overwriting existing files when retrieving URLs.
--prefix PREFIX
Add PREFIX to all retrieved files.
--Postfix POSTFIX -P POSTFIX
Add PREFIX to all retrieved files.
--prefix-date -D
Add iso8601 ":YYYY-MM-DD" prefix to all retrived files. This is
added before possible --prefix-www or --prefix.
Add POSTFIX to all retrieved files.
--prefix-www -W
Usually the files are stored with the same names as the URL page,
but if you retrieve files that have identical names you can store
each page separately so that the file name is prefixed by the site
name.
http://example.com/page.html --> example.com::page.html
http://example2.com/page.html --> example2.com::page.html
Miscellaneous options
--debug -d LEVEL
Turn on debug with positive LEVEL number. Zero means no debug.
--help -h
Print help page.
--Version -V
Print program's version information.
README
This small utility makes it possible to keep a list of URLs in a file
and periodically retrieve those pages or files with simple command. This
utility is best suited for small batch jobs to download eg. most recent
versions of the software files. If you pass an URL that is already on
disk, be sure to supply option --overwrite to allow overwriting old
files.
If the URL ends to slash, then the directory is list on the remote
machine is stored to file name:
!path!000root-file
The content of this file can be either index.html or the directory
listing depending on the used http or ftp protocol.
While you can run this program from command line to retrieve individual
files, it has been designed t use separate configuration file via --file
option. In that configuration file you can control the downloading with
separate directived like `save:' which tells to save the file under
different name.
The siplest way to retreive a latest version of a kit from FTP site is:
mywebget.pl --new --overwite --verbose \
http://www.example.com/kit-1.00.tar.gz
Don't worry about the filename "kit-1.00.tar.gz". If there were kit-
3.08.tar.gz in the site that one would be retrieve. The option --new
instructs to find newer versions.
DESCRIPTION
See readme.
EXAMPLES
Read directory. It will be stored to YYYY-MM-DD::!dir!000root-file.
Notice that you give the http directory and not the file name: `-D -o -
v'
mywebget.pl --prefix-date --overwrite --verbose http://www.example.com/dir/
To overwrite file and add a date prefix to the file name: `-D -o -v'
mywebget.pl --prefix-date --overwrite --verbose \
http://www.example.com/file.pl
--> YYYY-MM-DD::file.pl
To add date and WWW site prefix to the filenames: `-D -W -o -v'
mywebget.pl --prefix-date --prefix-www --overwrite --verbose \
http://www.example.com/file.pl
--> YYYY-MM-DD::www.example.com::file.pl
ENVIRONMENT
No environment settings.
SEE ALSO
C program wget(1) http://www.ccp14.ac.uk/mirror/wget.htm and Old Perl 4
program webget(1) http://www.wg.omron.co.jp/~jfriedl/perl/
AVAILABILITY
CPAN entry is http://www.perl.com/CPAN-local//scripts/ Reach author at
jari.aalto@poboxes.com or http://www.netforward.com/poboxes/?jari.aalto
SCRIPT CATEGORIES
CPAN/Administrative
PREREQUISITES
Modules `LWP::UserAgent' and `use Net::FTP' are required.
COREQUISITES
No optional CPAN modules needed.
OSNAMES
`any'
VERSION
$Id: mywebget.pl,v 1.12 1999/02/10 20:40:23 jaalto Exp $
AUTHOR
Copyright (C) 1996-1999 Jari Aalto. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself or in terms of Gnu General Public licence v2 or
later.
------------------------------
Date: 23 Feb 1999 17:03:53 GMT
From: Dave Carrigan <Dave.Carrigan@cnpl.enbridge.com>
Subject: ANNOUNCE: New Module SecurID::ACEdb
Message-Id: <7aun1p$tin$1@play.inetarena.com>
SecurID::ACEdb is a Perl interface to Security Dynamics' SecurID ACE
Administration Toolkit API. With SecurID::ACEdb, you can use Perl to
access the token, user and group databases on an ACE server. Three
sample scripts are included which
- display all information about a user's token
- display a history of token activity for a particular user
- take a token out of "next PIN mode", without resetting the user's
password or other information
SecurID::ACEdb is available at your favorite CPAN site, as well as at
ftp://ftp.cnpl.enbridge.com/pub/perl/
--
Dave Carrigan (Dave.Carrigan@cnpl.enbridge.com)
Sr. Technical Analyst, Technology Services
Enbridge Pipelines Inc.
------------------------------
Date: 25 Feb 1999 22:40:35 -0700
From: Tom Christiansen <tchrist@mox.perl.com>
Subject: ANNOUNCE: Perl Power Tools to the rescue!
Message-Id: <7b690g$amc$1@nntp.Stanford.EDU>
Please visit http://language.perl.com/ppt/ for the newly launched Perl
Power Tools project. It's a project that attempts to recreate the basic
shell command set in a portable and robust way for three great reasons:
Laziness, Impatience, and Hubris.
--tom
--
Hartley's Second Law:
Never sleep with anyone crazier than yourself.
------------------------------
Date: 26 Feb 1999 00:08:11 GMT
From: emorris@qualcomm.com_NO_SPAM_PLEASE (Ed Morris)
Subject: Anonymous subs, closure, and packages
Message-Id: <7b4olb$mop$2@thefuture.qualcomm.com>
I have a module called junk.pm, as follows:
package junk;
use Exporter;
@ISA = qw (Exporter);
@EXPORT = qw (test);
my $x = "Hello";
sub test
{
print "$x\n"; # REMOVE
my $func = sub { print "$x\n" };
&$func;
}
I use this from junktest.pl, as follows:
use junk;
test;
This results in Hello being printed twice, as expected (it is printed
once directly from the test subroutine, and once from the anonymous
subroutine reference $junk).
However, when I remove the line in test that prints it directly
(this line is commented REMOVE above), strange things happen. Hello
is then not even printed by the anonymous sub reference; instead, I
get the error message "Use of uninitialized value at junk.pm line 11."
Is this behavior correct??
I would appreciate an explanation.
Thanks,
Ed Morris
------------------------------
Date: 26 Feb 1999 02:25:00 GMT
From: Zenin <zenin@bawdycaste.org>
Subject: Re: Anonymous subs, closure, and packages
Message-Id: <919995923.9115@thrush.omix.com>
[posted & mailed]
Ed Morris <emorris@qualcomm.com> wrote:
: I have a module called junk.pm, as follows:
>snip<
: This results in Hello being printed twice, as expected (it is printed
: once directly from the test subroutine, and once from the anonymous
: subroutine reference $junk).
:
: However, when I remove the line in test that prints it directly
: (this line is commented REMOVE above), strange things happen. Hello
: is then not even printed by the anonymous sub reference; instead, I
: get the error message "Use of uninitialized value at junk.pm line 11."
:
: Is this behavior correct??
: I would appreciate an explanation.
This works fine on my system runnint 5.00404. Please include the
full output from the command 'perl -V' to make sure this isn't an
old bug. Thanks.
--
-Zenin (zenin@archive.rhps.org) From The Blue Camel we learn:
BSD: A psychoactive drug, popular in the 80s, probably developed at UC
Berkeley or thereabouts. Similar in many ways to the prescription-only
medication called "System V", but infinitely more useful. (Or, at least,
more fun.) The full chemical name is "Berkeley Standard Distribution".
------------------------------
Date: Fri, 26 Feb 1999 15:04:24 GMT
From: bart.lateur@skynet.be (Bart Lateur)
Subject: Re: Anonymous subs, closure, and packages
Message-Id: <36d7b6af.23705959@news.skynet.be>
Ed Morris wrote:
>I have a module called junk.pm, as follows:
...
I see no "1;" at the end. It could be that the "truth" value of the
file, when the module gets loaded, changes when you do this edit?
HTH,
Bart.
------------------------------
Date: Tue, 23 Feb 1999 11:10:55 GMT
From: vega@acer.net
Subject: any perl moudle deal with math's question about log and radical question
Message-Id: <7au2bq$29j$1@nnrp1.dejanews.com>
as titrle:
any one help me..
i need to deal with some math question about log and radical question
but i didn't know which moudle that perl can do that..
thx a lot!
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: Tue, 23 Feb 1999 18:42:54 GMT
From: droby@copyright.com
Subject: Re: any perl moudle deal with math's question about log and radical question
Message-Id: <7ausrb$pig$1@nnrp1.dejanews.com>
In article <7au2bq$29j$1@nnrp1.dejanews.com>,
vega@acer.net wrote:
> as titrle:
> any one help me..
> i need to deal with some math question about log and radical question
> but i didn't know which moudle that perl can do that..
> thx a lot!
Perl has many of the standard math functions built in, including log, exp,
sqrt and some of the trig functions.
They are well documented in the documentation under perlfunc.
--
Don Roby
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
------------------------------
Date: Wed, 24 Feb 1999 17:12:32 -0600
From: "Walter" <tavi367@ibm.net>
Subject: anyone on OS2?
Message-Id: <36d4878e@news1.us.ibm.net>
If so, please reply directly.
I have one question and a test script I would like you to run to see if it
works on OS2.
Thanks
Walter <walter@tscinternet.com>
------------------------------
Date: Thu, 25 Feb 1999 00:05:55 GMT
From: nospam.danorton@chsw.com (Daniel Norton)
Subject: Re: anyone on OS2?
Message-Id: <36d491f8.797546@enews.newsguy.com>
<... a dusty smell pervades ... a door squeaks and echoes, moved by the
dry desert wind ... loose wires in rigor mortis reaching out from walls
... sections of token-ring connectors litter the floor, stained dark but
for the light "shadows" remaining from partitions, now stacked, leaning
over a stack of PS/2 M70s against a far wall ...>
------------------------------
Date: Wed, 24 Feb 1999 19:56:13 -0500
From: mcmorran@norfolk.infi.net (Peter McMorran)
Subject: Re: anyone on OS2?
Message-Id: <36d4a035$1$zpzbeena$mr2ice@news.norfolk.infi.net>
In <36d4878e@news1.us.ibm.net>, on 02/24/99
at 05:12 PM, "Walter" <tavi367@ibm.net> said:
>If so, please reply directly.
>I have one question and a test script I would like you to run to
>see if it works on OS2.
>Thanks
>Walter <walter@tscinternet.com>
Hi,
I run OS/2 at home, with perl 5.002. I routinely transport
scripts between our office Unix machines and the home system,
running them without a burp.
Send me your script and I'll take a look at it.
Cheers,
Peter
--
-----------------------------------------------------------
mcmorran@norfolk.infi.net (Peter McMorran)
-----------------------------------------------------------
------------------------------
Date: Wed, 24 Feb 1999 19:57:20 -0800
From: dana@oz.netDELETE.CAPS (Dana Booth)
Subject: Re: anyone on OS2?
Message-Id: <MPG.113e69f9b8d28f67989689@news.oz.net>
In article <36d491f8.797546@enews.newsguy.com>,
nospam.danorton@chsw.com says...
> <... a dusty smell pervades ... a door squeaks and echoes, moved by the
> dry desert wind ... loose wires in rigor mortis reaching out from walls
> ... sections of token-ring connectors litter the floor, stained dark but
> for the light "shadows" remaining from partitions, now stacked, leaning
> over a stack of PS/2 M70s against a far wall ...>
Yeah, what a bitch, eh? Too bad IBM can't market... OS/2 was a
better product five years ago than NT will ever be...
--
-----------------------------------
Dana Booth <dana@oz.netDELETE.CAPS>
Tacoma, Wa., USA
-----------------------------------
------------------------------
Date: 12 Dec 98 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Special: Digest Administrivia (Last modified: 12 Dec 98)
Message-Id: <null>
Administrivia:
Well, after 6 months, here's the answer to the quiz: what do we do about
comp.lang.perl.moderated. Answer: nothing.
]From: Russ Allbery <rra@stanford.edu>
]Date: 21 Sep 1998 19:53:43 -0700
]Subject: comp.lang.perl.moderated available via e-mail
]
]It is possible to subscribe to comp.lang.perl.moderated as a mailing list.
]To do so, send mail to majordomo@eyrie.org with "subscribe clpm" in the
]body. Majordomo will then send you instructions on how to confirm your
]subscription. This is provided as a general service for those people who
]cannot receive the newsgroup for whatever reason or who just prefer to
]receive messages via e-mail.
The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc. For subscription or unsubscription requests, send
the single line:
subscribe perl-users
or:
unsubscribe perl-users
to almanac@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.misc (and this Digest), send your
article to perl-users@ruby.oce.orst.edu.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.
The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.
The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.
For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V8 Issue 4959
**************************************