[22283] in Perl-Users-Digest
Perl-Users Digest, Issue: 4504 Volume: 10
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Feb 3 00:06:03 2003
Date: Sun, 2 Feb 2003 21:05:05 -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 Sun, 2 Feb 2003 Volume: 10 Number: 4504
Today's topics:
Re: "Syntax Error at Line: (ZoeZ)
Re: APL's relation to perl <goldbb2@earthlink.net>
Re: Attitude to Perl in academia <goldbb2@earthlink.net>
Re: Best way to set up option files <GPatnude@adelphia.net>
Re: Best way to set up option files <GPatnude@adelphia.net>
Re: Finding out whether program is running. (Brian Salter-Duke)
Re: Free CGI webhosts (krakle)
Re: Free CGI webhosts <jeff@vpservices.com>
Re: Free CGI webhosts <jeff@vpservices.com>
Re: giving up after successful match? <bongie@gmx.net>
Re: inconsistent handling of undefined values? (Jay Tilton)
Re: Perl standalone programms and copyright <Ingo_Wiarda@web.de>
Re: Perl standalone programms and copyright <tassilo.parseval@post.rwth-aachen.de>
Re: Perl standalone programms and copyright (Alan Barclay)
Re: Perl standalone programms and copyright <abigail@abigail.nl>
print if ... <istink@real.bad.com>
Re: print if ... (Walter Roberson)
Re: print if ... <bwalton@rochester.rr.com>
Re: what's the best book for learning perl? <luc@nospam.com>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Sun, 02 Feb 2003 14:25:15 -0800
From: z@thrivenet.com (ZoeZ)
Subject: Re: "Syntax Error at Line:
Message-Id: <z-ya02408000R0202031425150001@news.spiritone.com>
YES!!! Thank you....
--zoez
In article <WAJ_9.9025$LY2.533792@newsc.telia.net>, Gunnar Hjalmarsson
<noreply@gunnar.cc> wrote:
> ZZ wrote:
> > Can any one figure out where I've gone wrong??
> > ...
> > href="http://www.practicalpsychologypress.com/">Practical Psychology
> -------^----------------------------------------^
>
> Doublequotes within doublequotes must be escaped:
>
> href=\"http://www.practicalpsychologypress.com/\">Practical Psychology
>
> / Gunnar
>
> --
> Gunnar Hjalmarsson
> Email: http://www.gunnar.cc/cgi-bin/contact.pl
------------------------------
Date: Sun, 02 Feb 2003 22:13:38 -0500
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: APL's relation to perl
Message-Id: <3E3DDE62.3939CE81@earthlink.net>
Michele Dondi wrote:
[snip stuff about generating cross-products of lists/arrays]
> On Wed, 22 Jan 2003 20:26:43 -0500, Benjamin Goldberg
> <goldbb2@earthlink.net> wrote:
>
> >According Apocolypse 4, you'll be able to do:
> >
> > for @foo -> $a, $b { # two at a time
> > ...
> > }
> >
> >Clear, if @foo contains $x, $y pairs, this will be doable.
>
> Well, this sounds encouraging, but still not fully satisfactory
> *according to my own personal tastes*.
>
> In the example above @foo wouldn't contain *pairs*, but a sequence of
> values that can be paired... to me a list of *pairs* is a list (finite
> sequence) of lists (each with two elements).
Indeed -- I made a mistake. What I meant was, that particular construct
would have the effect of iterating over @foo, two elements at a time.
It does not operate on a list of 'pair' objects (such as the things
constructed by perl6's "=>" operator). Err, well, it could, but it
would take two pairs at a time.
> Currently a list of lists is implemented as a list of array
> references, so a hypothetical syntax more adhering to the *current*
> convention could be (supposing that the cartesian product is yielded
> by juxtaposition):
>
> for my [$x,$y] (@foox)(@fooy) { ... }
>
> But then one runs into a series of issues. First, a user might wonder
> why he has to write '[$x,$y]', when logically it is a '($x,$y)'; this
> could be solved by a sort automatic dereferencing, but I guess that
> OTOH such a "feature" may cause major annoyances in (most) other
> contexts and so should probably avoided.
Not to mention that one would likely lose the aliasing effect that perl
automatically provides when iterating over a list with foreach().
[snip more stuff about generating cross-products of lists/arrays]
You do realize that in perl6, all of perl's types will be objects?
Given the rarety doing of cartesian products, Larry might merely choose
to make it available as:
my @result := @a.cartesian_product(@b);
Alternatively, consider that perl6 programmers will probably be able to
create their own binary operators... So, one could create an '(x)'
operator as follows:
my sub operator:(x) is prec(\&operator:+) (@a, @b) {
map { my $x = $_; map { $x, $_ } @b } @a;
}
So if you then do:
my @foo = (1, 2, 3);
my @bar = qw(a b c);
print @foo x @bar;
Will produce
1a1b1c2a2b2c3a3b3c
--
"So, who beat the clueless idiot today?"
"Well, we flipped for it, but when Kuno
landed, he wasn't in any shape to fight."
"Next time, try flipping a *coin.*"
------------------------------
Date: Sun, 02 Feb 2003 22:21:40 -0500
From: Benjamin Goldberg <goldbb2@earthlink.net>
Subject: Re: Attitude to Perl in academia
Message-Id: <3E3DE044.209492CA@earthlink.net>
Malte Ubl wrote:
>
> Benjamin Goldberg wrote:
> >> Actually, I think you'll find that Perl does have a typing
> >>system, but it's of the form of languages like ML or Smalltalk;
> >> it's an implicit typing system.
> >
> >
> > No -- with ML and Smalltalk, every variable's type is inferred *at
> > the time that the function is typed in*... in other words, at
> > compile time.
>
> Are you sure about this?
No. :) I'm a perl programmer, and haven't touched Smalltalk for many
years.
[snip stuff showing when SmallTalk infers types]
Well, I was kind of thinking of "inferring a type" as being similar to
how C++'s templates magically handles inferring of types, or at least of
the *abilities* a type needs to have to be used with that template.
If you do:
template <class T> void foo(const T & item) {....}
Then C++ will infer all sorts of stuff about 'class T' based upon how it
is used within the {....}
Note that if you do:
template <class T> void foo(const T & item) {
vector<T> blat;
blat.xyzzy();
}
AFAIK, C++ is able, at the time it compiles foo, to know that 'blat'
won't have an xyzzy method, even though T is unknown and vector<T> isn't
quite a "real" type yet.
--
"So, who beat the clueless idiot today?"
"Well, we flipped for it, but when Kuno
landed, he wasn't in any shape to fight."
"Next time, try flipping a *coin.*"
------------------------------
Date: Sun, 02 Feb 2003 21:00:23 GMT
From: "codeWarrior" <GPatnude@adelphia.net>
Subject: Re: Best way to set up option files
Message-Id: <HFf%9.257$jR3.256535@news1.news.adelphia.net>
"Jesse Sheidlower" <jester@panix.com> wrote in message
news:b1iah2$fae$1@panix2.panix.com...
>
> I've inherited a group of programs that need to be refactored,
> and I'm trying to figure out the best way to do it. They're
> all relating to Web-based database management. The way it was
> set up, there are various configuration files for different
> projects, called things like sales.conf and clients.conf; each
> one basically has a single %config hash that contains assorted
> set-up info, like:
>
SNIPPED....
> What's the best way to redo this? I know that I could just
> pass specifically-needed values directly to functions, but
> there seem to be places here where some entire modules needs
> a configuration parameter globally, and there are a lot of
> such parameters.
>
> Thanks.
>
> Jesse Sheidlower
I did something similar with a web-database system I recently built...I
found it easiest to put each config hash in a subroutine in one config
file.... My program only requires the one config file (require "index.cfg";)
and within the program -- After a user logs in -- I execute the config
subroutine (cf_getConfig($)) with the usertype to populate a single hash --
then you can use the one configuration hash everywhere in the program...
i.e:
# SNIP FROM index.pl
#! usr/local/bin/perl -X
reguire "index.cfg";
# after login
if ($result = cf_getConfig($usertype)) {
# AFTER THAT -- You can access the current CONFIG param by simply
using $HASH{PARAM}...
print $CONFIG{DATABASE};
} else {
die "Unable to determine the correct user configuration...";
}
# EOF--> index.pl
# SAMPLE SUBROUTINE FROM index.cfg file...
#! usr/local/bin/perl -X
sub cf_getConfig($;) {
local $usertype = shift;
if ($usertype == 1) {
$CONFIG{DATABASE} = "ibn_billing";
$CONFIG{DBUSER} = "ibn_billing_rwud";
$CONFIG{DBPWD} = "******";
return TRUE;
} elsif ($usertype == 2) {
$CONFIG{DATABASE} = "ibn_billing";
$CONFIG{DBUSER} = "ibn_billing_rw";
$CONFIG{DBPWD} = "******";
return TRUE;
} else {
$CONFIG{DATABASE} = "ibn_billing";
$CONFIG{DBUSER} = "ibn_billing_r";
$CONFIG{DBPWD} = "******";
return TRUE;
}
return FALSE;
}
return 0;
# EOF --> index.cfg
------------------------------
Date: Sun, 02 Feb 2003 22:00:28 GMT
From: "codeWarrior" <GPatnude@adelphia.net>
Subject: Re: Best way to set up option files
Message-Id: <0yg%9.282$jR3.274673@news1.news.adelphia.net>
"codeWarrior" <GPatnude@adelphia.net> wrote in message news:...
> "Jesse Sheidlower" <jester@panix.com> wrote in message
> news:b1iah2$fae$1@panix2.panix.com...
> >
> > I've inherited a group of programs that need to be refactored,
> > and I'm trying to figure out the best way to do it. They're
> > all relating to Web-based database management. The way it was
> > set up, there are various configuration files for different
> > projects, called things like sales.conf and clients.conf; each
> > one basically has a single %config hash that contains assorted
> > set-up info, like:
> >
> SNIPPED....
>
> > What's the best way to redo this? I know that I could just
> > pass specifically-needed values directly to functions, but
> > there seem to be places here where some entire modules needs
> > a configuration parameter globally, and there are a lot of
> > such parameters.
> >
> > Thanks.
> >
> > Jesse Sheidlower
>
> I did something similar with a web-database system I recently built...I
> found it easiest to put each config hash in a subroutine in one config
> file.... My program only requires the one config file (require
"index.cfg";)
> and within the program -- After a user logs in -- I execute the config
> subroutine (cf_getConfig($)) with the usertype to populate a single
hash --
> then you can use the one configuration hash everywhere in the program...
>
> i.e:
>
> # SNIP FROM index.pl
> #! usr/local/bin/perl -X
> reguire "index.cfg";
>
> # after login
>
> if ($result = cf_getConfig($usertype)) {
>
> # AFTER THAT -- You can access the current CONFIG param by simply
> using $HASH{PARAM}...
>
> print $CONFIG{DATABASE};
>
> } else {
>
> die "Unable to determine the correct user configuration...";
>
> }
>
> # EOF--> index.pl
>
> # SAMPLE SUBROUTINE FROM index.cfg file...
> #! usr/local/bin/perl -X
> sub cf_getConfig($;) {
>
> local $usertype = shift;
>
> if ($usertype == 1) {
>
> $CONFIG{DATABASE} = "ibn_billing";
> $CONFIG{DBUSER} = "ibn_billing_rwud";
> $CONFIG{DBPWD} = "******";
> return TRUE;
>
> } elsif ($usertype == 2) {
>
> $CONFIG{DATABASE} = "ibn_billing";
> $CONFIG{DBUSER} = "ibn_billing_rw";
> $CONFIG{DBPWD} = "******";
> return TRUE;
>
> } else {
>
> $CONFIG{DATABASE} = "ibn_billing";
> $CONFIG{DBUSER} = "ibn_billing_r";
> $CONFIG{DBPWD} = "******";
> return TRUE;
>
> }
>
> return FALSE;
>
> }
>
> return 0;
>
> # EOF --> index.cfg
>
>
>
------------------------------
Date: Sun, 02 Feb 2003 23:21:16 GMT
From: b_duke@octa4.net.invalid (Brian Salter-Duke)
Subject: Re: Finding out whether program is running.
Message-Id: <MJh%9.1595$YU1.40184@news.optus.net.au>
On Sun, 2 Feb 2003 15:38:03 +0000 (UTC), Ben Morrow
<mauzo@mimosa.csv.warwick.ac.uk> wrote:
> b_duke@octa4.net.invalid (Brian Salter-Duke) wrote:
>>On 1 Feb 2003 15:41:30 GMT, Walter Roberson <roberson@ibd.nrc-cnrc.gc.ca> wrote:
>>> In article <6sM_9.1586$YU1.37055@news.optus.net.au>,
>>> Brian Salter-Duke <b_duke@octa4.net.invalid> wrote:
>>>:I have this problem. From within a perl script I need to know whether a
>>>:particular program is actually running.
>>
><snip>
>>
>>Someone else asked about using a pid file for the daemon. I am starting
>>the daemon but it sometimes dies without deleting the pid file, so that
>>test is not good enough.
>
> The person who suggested a pid file said 'check if the pid file exists _and_
> if the process named therein still exists'.
Yes, he did. I missed that. Apologies.
> You may want to add more checks, such as checking the name of the process,
> checking its UID, and checking it has been running since the pid file was
> created, in case a stale pidfile is around for a while and pids wrap around.
I will look into that again. I am also looking at Proc::ProcessTable.
Many thank to all who helped.
Brian.
> Ben
--
Brian Salter-Duke Humpty Doo, Nr Darwin, Australia
My real address is b_duke(AT)octa4(DOT)net(DOT)au
Use this for reply or followup
------------------------------
Date: 2 Feb 2003 17:38:05 -0800
From: krakle@visto.com (krakle)
Subject: Re: Free CGI webhosts
Message-Id: <237aaff8.0302021738.54f2e73d@posting.google.com>
Jeff Zucker <jeff@vpservices.com> wrote in message news:<3E3C79C2.2010208@vpservices.com>...
> Mark007 wrote:
> > Most aren't webtv compatable
>
>
> A webhost has nothing to do with compatibility for a given browsing
> environment like webtv, it's up to you as the designer of pages to take
> care of that.
WebTV can't download so therefor can't use software to edit their
files locally. When he says "aren't webtv compatable" he means they
don't have a Web Based file manager to edit and modify files.
>
> > I'm
> > about to gve up on cgi. I dont want to pay for one because I'm just
> > trying to learn now. I don't want anyone to see content I create yet.
>
>
> Then the simplest thing to do is to install one of the many free and
> easy to install webservers on your home computer and test there.
Did you not read where he said he has WebTV? There is no computer. He
can't download. Try actually reading his post before wasting our
bandwidth with your response.
http://www.virtualave.net - Install a file manager
http://hypermart.net - Built in file manager
------------------------------
Date: Sun, 02 Feb 2003 20:02:46 -0800
From: Jeff Zucker <jeff@vpservices.com>
Subject: Re: Free CGI webhosts
Message-Id: <3E3DE9E6.1070300@vpservices.com>
krakle wrote:
> Jeff Zucker <jeff@vpservices.com> wrote in message news:<3E3C79C2.2010208@vpservices.com>...
>
>>Mark007 wrote:
>>
>>>Most aren't webtv compatable
>>>
>>
>>A webhost has nothing to do with compatibility for a given browsing
>>environment like webtv, it's up to you as the designer of pages to take
>>care of that.
>>
>
> WebTV can't download so therefor can't use software to edit their
> files locally. When he says "aren't webtv compatable" he means they
> don't have a Web Based file manager to edit and modify files.
Ok, that makes sense in terms of editing compatibility so I was wrong to
say the host "has nothing to do" with the browser. What I said about
the compatibility of the pages still holds true.
>>Then the simplest thing to do is to install one of the many free and
>>easy to install webservers on your home computer and test there.
>>
> Did you not read where he said he has WebTV? There is no computer.
You are making an assumption that because he uses webTV to browse the
net that he has no other computer. He said no such thing. Maybe he
uses webTV for his internet connection and has an unconnected computer
that he doesn't use for browsing but that could be used for local testing.
> Try actually reading his post before wasting our
> bandwidth with your response.
Try imagining that there are more possible interpretations of a posting
than the one you decide is the only interpretation before berating
someone else.
--
Jeff
------------------------------
Date: Sun, 02 Feb 2003 20:04:57 -0800
From: Jeff Zucker <jeff@vpservices.com>
Subject: Re: Free CGI webhosts
Message-Id: <3E3DEA69.5050001@vpservices.com>
krakle wrote:
> Jeff Zucker <jeff@vpservices.com> wrote in message news:<3E3C79C2.2010208@vpservices.com>...
>
>>Mark007 wrote:
>>
>>>Most aren't webtv compatable
>>>
>>
>>A webhost has nothing to do with compatibility for a given browsing
>>environment like webtv, it's up to you as the designer of pages to take
>>care of that.
>>
>
> WebTV can't download so therefor can't use software to edit their
> files locally. When he says "aren't webtv compatable" he means they
> don't have a Web Based file manager to edit and modify files.
Go back and read his posting and you'll notice that he mentions using
FTP so he must have some sort of local ability to manage files.
--
Jeff
------------------------------
Date: Mon, 03 Feb 2003 03:01:43 +0100
From: "Harald H.-J. Bongartz" <bongie@gmx.net>
Subject: Re: giving up after successful match?
Message-Id: <1566537.S2Xn4GMkep@nyoga.dubu.de>
Matija Papec wrote:
> "Michael Peuser \(h\)" <post@mpeuser.de> wrote:
>>I wonder why you used /x? A matter of habit?
>>Or do you want to have this:
>> $cfg =~ s/($checks)\s*=\s*.*/$1=$Q{$1}/g;
>
> No, I used it to ignore whitespaces in right part of substitution; at
> least I used to think that /x does such thing.<blush>
The /x modifier *only* affects the regex pattern, not the replacement
text. If the replacement is to be interpreted as an expression (i.e.
you are using the /e modifier), the same rules regarding whitespace
apply like for other perl code. The replacement will be the result of
this expression, not its formatting.
Ciao,
Harald
--
Harald H.-J. Bongartz <bongie@gmx.net>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Interesting Error Messages #11:
.signature not found! reformat hard drive? [Yn]
------------------------------
Date: Sun, 02 Feb 2003 19:48:54 GMT
From: tiltonj@erols.com (Jay Tilton)
Subject: Re: inconsistent handling of undefined values?
Message-Id: <3e3d6dac.190456082@news.erols.com>
RA Jones <ra.jones@NO_UCE*cwcom.net> wrote:
: >> But why does Perl hang when I try to print an undefined value, despite
: >> using 'strict', '-w' and CGI::Carp(fatalsToBrowser)?
: >
: >What do you mean by 'hang'?
: The browser task bar says 'Sending request to 127.0.0.1....'
: indefinitely, and the browser continues to wait for a reply. A Perl
: session remains open in the task manager and needs a manual 'End
: process' to close it.
How many times is the undefined value being printed?
I've seen this when the perl process generates a *lot* of warnings
very quickly. Best guess is that its STDOUT is getting disconnected,
so it has nowhere to send output. Check with c.i.w.a.cgi or the
appropriate c.i.w.servers.* newsgroup for a better answer.
: The point about CGI::Carp was to illustrate the fact that I had tried to
: enable all possible means of being informed of a problem, but in this
: instance none do.
Tried running it from a command prompt?
As a last resort, make any warning a fatal error.
use warnings FATAL => 'all';
You'll at least get an output somewhere, and you'll get an idea where
to start debugging.
------------------------------
Date: Sun, 02 Feb 2003 21:38:50 +0100
From: Ingo Wiarda <Ingo_Wiarda@web.de>
Subject: Re: Perl standalone programms and copyright
Message-Id: <b1jvg7$14bllf$1@ID-40614.news.dfncis.de>
Abigail wrote:
> Ingo Wiarda (Ingo_Wiarda@web.de) wrote on MMMCDXLII September MCMXCIII in
> <URL:news:b1itqr$135s3s$1@ID-40614.news.dfncis.de>:
>...
> `' May I
> `' a) freely distribute such a package?
> `' b) sell the package?
> `'
> `' Or do I have to contact each and every module author whose scripts I
> use?
>
> That depends on the license used by the module.
>
> `' Perhaps the answer is obvious from the Perl Artistic License, but
> IANAL and
> `' therefore am not sure...
>
> It's the artistics license intend that you can do this. As for modules
> with the GPL, you are likely to violate the license by doing this.
> You are certainly violating the intend of the GPL. There are also modules
> that prohibit them being used in a commercial project.
>
> I'd certainly ask the module authors, and perhaps consult a lawyer.
>
> Actually, that's not quite true. I would distribute the source as well.
>
>
>
> Abigail
Thank you.
I would like to clarify my question a bit - commercial distribution is
currently not really an issue.
I use perltobin to create a package that contains all the modules as source
code plus myscript.exe & perl.dll. My script is also provided as source
code.
I distribute it for free, and the package is only created for inexperienced
Windows users who are (mentally or technically) incapable of downloading
and installing ActiveState-Perl. All other users are expected to download
and install the freely available modules by themselves.
Even a simple project (with DBI, GD, perhaps CGI) quickly needs _lots_ of
Modules (ScanDeps does a thorough job). So if I publish a piece of software
which is free to use & distribute, do I still need to get every author's
written permission to use their CPAN-Modules?
An easier question: Does a list exist somewhere, which modules are GPL and
which PAL or something else?
Ingo
------------------------------
Date: 2 Feb 2003 21:16:01 GMT
From: "Tassilo v. Parseval" <tassilo.parseval@post.rwth-aachen.de>
Subject: Re: Perl standalone programms and copyright
Message-Id: <b1k1qh$2gs$1@nets3.rz.RWTH-Aachen.DE>
Also sprach Abigail:
> Ingo Wiarda (Ingo_Wiarda@web.de) wrote on MMMCDXLII September MCMXCIII in
><URL:news:b1itqr$135s3s$1@ID-40614.news.dfncis.de>:
> `' Judging from the frequent questions about how to package perl scripts in
> `' executable form, I may not be the only one who wants to distribute his
> `' programms (for Windows-Users) as my_script.exe.
> `'
> `' My question:
> `' If I create a package, say of
> `' - my script.exe
> `' - perl56.dll (using a free compiled version, not AS-Perl)
> `' - a number of Modules found on CPAN (DBD:mysql, DBI, TK, ...).
> `'
> `' and distribute it, is there any danger of infringing upon the module
> `' author's copyright?
[...]
> `' Perhaps the answer is obvious from the Perl Artistic License, but
> `' IANAL and `' therefore am not sure...
>
> It's the artistics license intend that you can do this. As for modules
> with the GPL, you are likely to violate the license by doing this.
> You are certainly violating the intend of the GPL. There are also modules
> that prohibit them being used in a commercial project.
Such a binary-distribution will probably be compliant with the GPL if he
has the source of his project available somewhere (a link to it is ok,
no need to bundle it in the dist). This is regardles of whether he
charges money for it or not.
Now if the OP's intention was to actually hide the source he needs at
least the LGPL. Since putting the module under the Artistic License or
the GPL may well be an automatism of authors (without them thinking very
clearly about the consequences), it might be worthwhile contacting the
authors to change the license or make an exception.
Tassilo
--
$_=q#",}])!JAPH!qq(tsuJ[{@"tnirp}3..0}_$;//::niam/s~=)]3[))_$-3(rellac(=_$({
pam{rekcahbus})(rekcah{lrePbus})(lreP{rehtonabus})!JAPH!qq(rehtona{tsuJbus#;
$_=reverse,s+(?<=sub).+q#q!'"qq.\t$&."'!#+sexisexiixesixeseg;y~\n~~dddd;eval
------------------------------
Date: 2 Feb 2003 21:38:35 GMT
From: gorilla@elaine.furryape.com (Alan Barclay)
Subject: Re: Perl standalone programms and copyright
Message-Id: <1044221915.501342@elaine.furryape.com>
In article <b1jvg7$14bllf$1@ID-40614.news.dfncis.de>,
Ingo Wiarda <Ingo_Wiarda@web.de> wrote:
>Modules (ScanDeps does a thorough job). So if I publish a piece of software
>which is free to use & distribute, do I still need to get every author's
>written permission to use their CPAN-Modules?
You have to make sure that you're following the license which each
module is supplied under. For the majority, that's the same as perl.
For some, they're explictly under only one or the other, or sometimes
some other license. Some aren't explicitly listed what terms you may
distribute them under.
Read the licenses with the modules you're using, and follow them. You
cannot generalize, because what might be true for module A::B isn't
neccessary true for module Y::Z.
------------------------------
Date: 02 Feb 2003 22:53:56 GMT
From: Abigail <abigail@abigail.nl>
Subject: Re: Perl standalone programms and copyright
Message-Id: <slrnb3r8c3.ffe.abigail@alexandra.abigail.nl>
Ingo Wiarda (Ingo_Wiarda@web.de) wrote on MMMCDXLII September MCMXCIII in
<URL:news:b1jvg7$14bllf$1@ID-40614.news.dfncis.de>:
-- Abigail wrote:
--
-- > Ingo Wiarda (Ingo_Wiarda@web.de) wrote on MMMCDXLII September MCMXCIII in
-- > <URL:news:b1itqr$135s3s$1@ID-40614.news.dfncis.de>:
-- >...
-- > `' May I
-- > `' a) freely distribute such a package?
-- > `' b) sell the package?
-- > `'
-- > `' Or do I have to contact each and every module author whose scripts I
-- > use?
-- >
-- > That depends on the license used by the module.
-- >
-- > `' Perhaps the answer is obvious from the Perl Artistic License, but
-- > IANAL and
-- > `' therefore am not sure...
-- >
-- > It's the artistics license intend that you can do this. As for modules
-- > with the GPL, you are likely to violate the license by doing this.
-- > You are certainly violating the intend of the GPL. There are also modules
-- > that prohibit them being used in a commercial project.
-- >
-- > I'd certainly ask the module authors, and perhaps consult a lawyer.
-- >
-- > Actually, that's not quite true. I would distribute the source as well.
-- >
-- >
-- >
-- > Abigail
--
-- Thank you.
-- I would like to clarify my question a bit - commercial distribution is
-- currently not really an issue.
The note about "selling the package" suggested otherwise.
-- I use perltobin to create a package that contains all the modules as source
-- code plus myscript.exe & perl.dll. My script is also provided as source
-- code.
That the source was included wasn't at all clear from your original post.
You gave a list of things the package would contain, and I didn't see
the source to be on the list. It makes the world of difference for many
open source licenses.
-- I distribute it for free, and the package is only created for inexperienced
-- Windows users who are (mentally or technically) incapable of downloading
-- and installing ActiveState-Perl. All other users are expected to download
-- and install the freely available modules by themselves.
--
-- Even a simple project (with DBI, GD, perhaps CGI) quickly needs _lots_ of
-- Modules (ScanDeps does a thorough job). So if I publish a piece of software
-- which is free to use & distribute, do I still need to get every author's
-- written permission to use their CPAN-Modules?
That depends on the licenses of the modules you want to include. If
you include the sources, you should be ok for modules that use GPL
or AL as license. Many modules on CPAN use the GPL and/or AL. But
some don't. The only way to find out is to check the license of each
and every module you want to include.
-- An easier question: Does a list exist somewhere, which modules are GPL and
-- which PAL or something else?
No.
Abigail
--
perl -Mstrict -we '$_ = "goto H.print chop;\n=rekcaH lreP rehtona tsuJ";H1:eval'
------------------------------
Date: Sun, 02 Feb 2003 21:33:50 -0500
From: istink <istink@real.bad.com>
Subject: print if ...
Message-Id: <3E3DD50E.A0A2A24A@real.bad.com>
I think I saw something like this:
print if ($a == $b)...
or am I having one of my many delusions?
an if inside of an existing line of code?
------------------------------
Date: 3 Feb 2003 02:38:44 GMT
From: roberson@ibd.nrc-cnrc.gc.ca (Walter Roberson)
Subject: Re: print if ...
Message-Id: <b1kknk$go8$1@canopus.cc.umanitoba.ca>
In article <3E3DD50E.A0A2A24A@real.bad.com>,
istink <istink@real.bad.com> wrote:
:I think I saw something like this:
:print if ($a == $b)...
:or am I having one of my many delusions?
:an if inside of an existing line of code?
$ man perlsyn
Any simple statement may optionally be followed by a SINGLE modifier,
just before the terminating semicolon (or block ending). The possible
modifiers are:
if EXPR
unless EXPR
while EXPR
until EXPR
foreach EXPR
The if and unless modifiers have the expected semantics, presuming you're
a speaker of English. The foreach modifier is an iterator: For each
value in EXPR, it aliases $_ to the value and executes the statement.
The while and until modifiers have the usual "while loop" semantics
(conditional evaluated first), except when applied to a do-BLOCK (or to
the now-deprecated do-SUBROUTINE statement), in which case the block
executes once before the conditional is evaluated.
--
Warhol's Law: every Usenet user is entitled to his or her very own
fifteen minutes of flame -- The Squoire
------------------------------
Date: Mon, 03 Feb 2003 02:41:58 GMT
From: Bob Walton <bwalton@rochester.rr.com>
Subject: Re: print if ...
Message-Id: <3E3DD6F0.9080408@rochester.rr.com>
istink wrote:
> I think I saw something like this:
> print if ($a == $b)...
> or am I having one of my many delusions?
> an if inside of an existing line of code?
>
Yep, you probably did see something like that. Read up on it in:
perldoc perlsyn
--
Bob Walton
------------------------------
Date: Sun, 2 Feb 2003 23:36:20 +0000 (UTC)
From: luc wastiaux <luc@nospam.com>
Subject: Re: what's the best book for learning perl?
Message-Id: <slrnb3rarl.5ft.luc@grizzly.dont-panic.info>
In article <eb41f4fa.0302020348.664356da@posting.google.com>, SJA wrote:
> hi,
>
> what's the best book for learning perl from the ground up?
Check out this book, which is freely distributed:
http://www.ebb.org/PickingUpPerl/
--
luc wastiaux
$> finger luc@info.4002.org
------------------------------
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.
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 4504
***************************************