[31720] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 2983 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Thu Jun 10 18:09:30 2010

Date: Thu, 10 Jun 2010 15:09:08 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Thu, 10 Jun 2010     Volume: 11 Number: 2983

Today's topics:
    Re: graphics <RedGrittyBrick@spamweary.invalid>
    Re: graphics <mvdwege@mail.com>
        How to get "last action" from SVN::Client? <davidmichaelkarr@gmail.com>
    Re: How to get "last action" from SVN::Client? <ben@morrow.me.uk>
    Re: How to get "last action" from SVN::Client? <davidmichaelkarr@gmail.com>
    Re: How to get "last action" from SVN::Client? sln@netherlands.com
    Re: How to get "last action" from SVN::Client? sln@netherlands.com
    Re: How to get "last action" from SVN::Client? <ben@morrow.me.uk>
    Re: How to read a given number of lines? <mvdwege@mail.com>
    Re: How to read a given number of lines? <ben@morrow.me.uk>
    Re: Is there a way to search all the perl document? <ben@morrow.me.uk>
    Re: Is there a way to search all the perl document? <kkeller-usenet@wombat.san-francisco.ca.us>
    Re: Why does perl allow so many different ways of doing <cwilbur@chromatico.net>
    Re: Why does perl allow so many different ways of doing <bart.lateur@telenet.be>
    Re: Why does perl allow so many different ways of doing <tzz@lifelogs.com>
    Re: Why does perl allow so many different ways of doing <john@castleamber.com>
    Re: Why does perl allow so many different ways of doing <apeiron@invalid.isuckatdomains.net>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Thu, 10 Jun 2010 11:01:53 +0100
From: RedGrittyBrick <RedGrittyBrick@spamweary.invalid>
Subject: Re: graphics
Message-Id: <4c10b813$0$2524$da0feed9@news.zen.co.uk>

On 10/06/2010 03:08, Ilya Zakharevich wrote:
> On 2010-06-09, RedGrittyBrick<RedGrittyBrick@spamweary.invalid>  wrote:
>> I'd have the Perl program write a Postscript file containing image data
>> and text, then use OS-dependant commands to spool that to a Postscript
>> printer or via a Postscript aware print subsystem like CUPS or
>> Ghostscript. Your mileage is likely to vary. CPAN is your friend.
>
> Nowadays it looks like PostScript would be the last choice...

I think it depends on your skillset, I happen to know a little 
PostScript and like the language a lot, this obviously biases my choice.


> Generating PDF might be easy (did not try it),

Yes, there appear to be some good CPAN modules for writing PDF.


> and it is much easier to print...

This isn't something I find any problems with. Most laser printers above 
entry level will support PostScript printing. Some of them support PDF 
printing. Most (if not all) Unix/Linux systems will have print systems 
that can rasterise PostScript for non-Postscript printers.


> Myself, I would go through enscript or TeX - this would cover the
> typesetting needs

I also use enscript and a2ps. I found writing TeX (or rather LaTeX) 
still needs a lot of markup and the production chain can be complicated 
and prone to generating mysterious error messages. What TeX toolset do 
you use?

I use grutatxt a lot - which can generate HTML and LaTeX (and thence 
PDF) from plain text. It is available as a Perl module. I'm not sure 
about the inclusion of images other than for HTML though. I certainly 
prefer keeping source matter in a plain text form rather than in any 
proprietary form that is likely to become obsolete and unreadable.

The OP might look at these as well as markdown, asciidoc etc


> (instead of trying to reinvent things in Perl).

That is a good point. It depends a bit on how much "typesetting" you 
need to do but I guess I must agree.

-- 
RGB


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

Date: Thu, 10 Jun 2010 22:37:56 +0200
From: Mart van de Wege <mvdwege@mail.com>
Subject: Re: graphics
Message-Id: <86fx0umxnf.fsf@gareth.avalon.lan>

RedGrittyBrick <RedGrittyBrick@spamweary.invalid> writes:

> On 10/06/2010 03:08, Ilya Zakharevich wrote:
>> Myself, I would go through enscript or TeX - this would cover the
>> typesetting needs
>
> I also use enscript and a2ps. I found writing TeX (or rather LaTeX)
> still needs a lot of markup and the production chain can be
> complicated and prone to generating mysterious error messages. What
> TeX toolset do you use?
>

Not speaking for Ilya, but at work I had to write something to generate
reports. I used SVG::TT:Graph to generate the graphs, Image::Magick to
convert them to PNG, Template Toolkit to build LaTex files referring to
the images, and LaTeX::Driver to render the LaTeX to PDF.

Works like a charm, even if the toolchain is long. LaTeX::Driver is a
bit finicky if you don't clean up your working directory though.

Mart

-- 
"We will need a longer wall when the revolution comes."
    --- AJS, quoting an uncertain source.


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

Date: Thu, 10 Jun 2010 08:57:50 -0700 (PDT)
From: "david.karr" <davidmichaelkarr@gmail.com>
Subject: How to get "last action" from SVN::Client?
Message-Id: <b2ee366f-ebdc-45b6-a339-a58640935254@d8g2000yqf.googlegroups.com>

I've used TortoiseSVN to get all the history entries for a branch.
Each entry has a "last action", indicating "added", "modified", or
"deleted".  I'd like to have a Perl script using SVN::Client (or any
other appropriate module) generate this output instead.  I've used the
"log" method of SVN::Client, and I've read through the SVN::Client
documentation, but I don't see any way to get this information.  The
only reference in the documentation to one of "Add", "Modify", or
"Delete" is when committing a change.  What am I missing?


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

Date: Thu, 10 Jun 2010 18:03:27 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: How to get "last action" from SVN::Client?
Message-Id: <vfi7e7-urs2.ln1@osiris.mauzo.dyndns.org>


Quoth "david.karr" <davidmichaelkarr@gmail.com>:
> I've used TortoiseSVN to get all the history entries for a branch.
> Each entry has a "last action", indicating "added", "modified", or
> "deleted".  I'd like to have a Perl script using SVN::Client (or any
> other appropriate module) generate this output instead.  I've used the
> "log" method of SVN::Client, and I've read through the SVN::Client
> documentation, but I don't see any way to get this information.  The
> only reference in the documentation to one of "Add", "Modify", or
> "Delete" is when committing a change.  What am I missing?

The SVN::Client->log method passes a svn_log_changed_path_t object[0] to
its callback; this is documented in SVN::Core and tells you what changed
in that revision.

Ben

[0] I loathe SWIG-generated interfaces...



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

Date: Thu, 10 Jun 2010 13:00:25 -0700 (PDT)
From: "david.karr" <davidmichaelkarr@gmail.com>
Subject: Re: How to get "last action" from SVN::Client?
Message-Id: <7d582759-4031-415f-a6e1-35c0d4787060@u7g2000yqm.googlegroups.com>

On Jun 10, 10:03=A0am, Ben Morrow <b...@morrow.me.uk> wrote:
> Quoth "david.karr" <davidmichaelk...@gmail.com>:
>
> > I've used TortoiseSVN to get all the history entries for a branch.
> > Each entry has a "last action", indicating "added", "modified", or
> > "deleted". =A0I'd like to have a Perl script using SVN::Client (or any
> > other appropriate module) generate this output instead. =A0I've used th=
e
> > "log" method of SVN::Client, and I've read through the SVN::Client
> > documentation, but I don't see any way to get this information. =A0The
> > only reference in the documentation to one of "Add", "Modify", or
> > "Delete" is when committing a change. =A0What am I missing?
>
> The SVN::Client->log method passes a svn_log_changed_path_t object[0] to
> its callback; this is documented in SVN::Core and tells you what changed
> in that revision.

Ok, that looks promising.  However, when I code this, it seems like
that hash is always empty.

Does it matter that the server is SVN 1.4.x?

This is an excerpt from my script:
-----------------
my $ctx =3D new SVN::Client(auth =3D>
[SVN::Client::get_simple_provider()]);

my @revisionsList;

$ctx->log([$opt_element], 1, "HEAD", 1, 0, \&addToRevisionsList);

sub addToRevisionsList($$$$$$) {
    my ($changed_paths, $revision, $author, $date, $message, $pool) =3D
@_;
    print "revision[$revision] author[$author] date[$date]
message[$message]\n";
    print "changed_paths[$changed_paths] size[" .
keys(%changed_paths) . "]\n";
    while(($key, $value) =3D each(%changed_paths)) {
	print "key[$key]\n";
    }
}
----------------


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

Date: Thu, 10 Jun 2010 14:02:21 -0700
From: sln@netherlands.com
Subject: Re: How to get "last action" from SVN::Client?
Message-Id: <c7k216ls98995mb9mfphke9ufhpf5h1bip@4ax.com>

On Thu, 10 Jun 2010 13:00:25 -0700 (PDT), "david.karr" <davidmichaelkarr@gmail.com> wrote:

>On Jun 10, 10:03 am, Ben Morrow <b...@morrow.me.uk> wrote:
>> Quoth "david.karr" <davidmichaelk...@gmail.com>:
>>
>> > I've used TortoiseSVN to get all the history entries for a branch.
>> > Each entry has a "last action", indicating "added", "modified", or
>> > "deleted".  I'd like to have a Perl script using SVN::Client (or any
>> > other appropriate module) generate this output instead.  I've used the
>> > "log" method of SVN::Client, and I've read through the SVN::Client
>> > documentation, but I don't see any way to get this information.  The
>> > only reference in the documentation to one of "Add", "Modify", or
>> > "Delete" is when committing a change.  What am I missing?
>>
>> The SVN::Client->log method passes a svn_log_changed_path_t object[0] to
>> its callback; this is documented in SVN::Core and tells you what changed
>> in that revision.
>
>Ok, that looks promising.  However, when I code this, it seems like
>that hash is always empty.
>
>Does it matter that the server is SVN 1.4.x?
>
>This is an excerpt from my script:
>-----------------
>my $ctx = new SVN::Client(auth =>
>[SVN::Client::get_simple_provider()]);
>
>my @revisionsList;
>
>$ctx->log([$opt_element], 1, "HEAD", 1, 0, \&addToRevisionsList);
>
>sub addToRevisionsList($$$$$$) {
>    my ($changed_paths, $revision, $author, $date, $message, $pool) =
>@_;
>    print "revision[$revision] author[$author] date[$date]
>message[$message]\n";
>    print "changed_paths[$changed_paths] size[" .
>keys(%changed_paths) . "]\n";
>    while(($key, $value) = each(%changed_paths)) {
>	print "key[$key]\n";
>    }
>}
>----------------
"If $changed_paths is defined it references a hash"

so $changed_paths is a hash "reference", you must dereference
it to get the key values. %{$changed_paths}.

use strict;
use warnings;

my $ref = {'a','b', 'c','d'};

while (my ($key, $val) = each %$ref) {
    print "$key = $val\n";
}

-sln


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

Date: Thu, 10 Jun 2010 14:33:44 -0700
From: sln@netherlands.com
Subject: Re: How to get "last action" from SVN::Client?
Message-Id: <r9m216h3fkl1psggtp373l5jfdepq0o2ms@4ax.com>

On Thu, 10 Jun 2010 14:02:21 -0700, sln@netherlands.com wrote:

>On Thu, 10 Jun 2010 13:00:25 -0700 (PDT), "david.karr" <davidmichaelkarr@gmail.com> wrote:
>
>>keys(%changed_paths) . "]\n";

If you want to print the key/val's:
     print "@{[%$changed_paths]}\n";
or, just the keys
    print "@{[keys %$changed_paths]}\n";

Note, its inside quotes "".

-sln


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

Date: Thu, 10 Jun 2010 22:09:31 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: How to get "last action" from SVN::Client?
Message-Id: <bt08e7-fev2.ln1@osiris.mauzo.dyndns.org>


Quoth "david.karr" <davidmichaelkarr@gmail.com>:
> On Jun 10, 10:03 am, Ben Morrow <b...@morrow.me.uk> wrote:
> > Quoth "david.karr" <davidmichaelk...@gmail.com>:
> >
> > > I've used TortoiseSVN to get all the history entries for a branch.
> > > Each entry has a "last action", indicating "added", "modified", or
> > > "deleted".  I'd like to have a Perl script using SVN::Client (or any
> > > other appropriate module) generate this output instead.  I've used the
> > > "log" method of SVN::Client, and I've read through the SVN::Client
> > > documentation, but I don't see any way to get this information.  The
> > > only reference in the documentation to one of "Add", "Modify", or
> > > "Delete" is when committing a change.  What am I missing?
> >
> > The SVN::Client->log method passes a svn_log_changed_path_t object[0] to
> > its callback; this is documented in SVN::Core and tells you what changed
> > in that revision.
> 
> Ok, that looks promising.  However, when I code this, it seems like
> that hash is always empty.
> Does it matter that the server is SVN 1.4.x?

I've no idea, I'm afraid. I haven't used SVN for quite some time, and I
don't think I've even got any repos around any more. I do know I've
successfully used code like

    $SVN->log(cwd, 'HEAD', 1, 1, 0, sub {
        my ($c, $r, $a, $d, $m) = @_;
        
        for (keys %$c) {
            ...
        }
    });

in the past, but I'm not certain which version of svn this was with. I
notice I was asking for the log in reverse order (latest to oldest)
whereas you are asking for it forwards: does that make any difference?

You may have more luck taking this to a SVN list.

Ben



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

Date: Thu, 10 Jun 2010 22:53:00 +0200
From: Mart van de Wege <mvdwege@mail.com>
Subject: Re: How to read a given number of lines?
Message-Id: <86bpbimwyb.fsf@gareth.avalon.lan>

Peng Yu <pengyu.ut@gmail.com> writes:

> On Jun 8, 3:58 pm, Marc Girod <marc.gi...@gmail.com> wrote:
>> On Jun 8, 9:14 pm, Willem <wil...@turtle.stack.nl> wrote:
>>
>> > You mean like: for (0..2) { $lines[$_] = <IN> }
>>
>> I'am not smart enough to not try being clever.
>> Besides (and for wrong reasons: I used to like Lisp), I like maps.
>> So, I was thinking of the following minimal(?) fix(?):
>>
>> my @lines = map scalar <IN>, 1..3;
>
> I don't understand why 'scalar' has to be used. Would you please let
> me know where I should read in man page to understand file handle in
> scalar and list context.

As Marc pointed out, using the readline operator <> in scalar context
reads only one line.

Why it is necessary here is because the above statement would normally
evaluate <> in list context. I'm a bit unclear if that is because of the
array assignment or the map function. I believe it is the map function
forcing a list context here, but I could be wrong. Even if I am,
assigning to an array definitely forces list context.

Mart

-- 
"We will need a longer wall when the revolution comes."
    --- AJS, quoting an uncertain source.


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

Date: Thu, 10 Jun 2010 22:11:10 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: How to read a given number of lines?
Message-Id: <e018e7-fev2.ln1@osiris.mauzo.dyndns.org>


Quoth Mart van de Wege <mvdwege@mail.com>:
> Why it is necessary here is because the above statement would normally
> evaluate <> in list context. I'm a bit unclear if that is because of the
> array assignment or the map function. I believe it is the map function
> forcing a list context here, but I could be wrong. Even if I am,
> assigning to an array definitely forces list context.

map always evaluates its first argument (EXPR or BLOCK) in list context.
This makes it possible to change the length of the returned list.

Ben



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

Date: Thu, 10 Jun 2010 13:11:00 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Is there a way to search all the perl document?
Message-Id: <kb17e7-rvq2.ln1@osiris.mauzo.dyndns.org>


Quoth Peng Yu <pengyu.ut@gmail.com>:
> Suppose I'm looking for the explanation of __END__, but I'm not sure
> which man page I should look at. perldoc __END__ returns the following
> error.
> 
> No documentation found for "__END__".
> 
> The dumbest way is to go through each manpage manually. But I'd like
> to know if there is a command to automatically search which manpage
> has the word "__END__".

There is an index facility in POD, and recent versions of the docs have
index entries in all the proper places. I cannot, however, see any way
of looking up something in that index. The nearest switch I can see for
perldoc would be

    perldoc -X __END__

which just says

    No documentation found for "__END__".

Does anyone know how to make this do something useful?

Ben



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

Date: Thu, 10 Jun 2010 11:50:28 -0700
From: Keith Keller <kkeller-usenet@wombat.san-francisco.ca.us>
Subject: Re: Is there a way to search all the perl document?
Message-Id: <loo7e7xhdh.ln2@goaway.wombat.san-francisco.ca.us>

On 2010-06-10, Peng Yu <pengyu.ut@gmail.com> wrote:
> Suppose I'm looking for the explanation of __END__, but I'm not sure
> which man page I should look at. perldoc __END__ returns the following
> error.
>
> No documentation found for "__END__".
>
> The dumbest way is to go through each manpage manually. But I'd like
> to know if there is a command to automatically search which manpage
> has the word "__END__".

I know this isn't the answer you're looking for, but if you're going to
be doing coding in Perl for a long time, you should really get
_Programming Perl_, published by ORA.  I don't refer to it as much any
more, because I am more familiar with the docs, but when I was first
starting out the actual book was indispensable to me.

--keith


-- 
kkeller-usenet@wombat.san-francisco.ca.us
(try just my userid to email me)
AOLSFAQ=http://www.therockgarden.ca/aolsfaq.txt
see X- headers for PGP signature information



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

Date: Thu, 10 Jun 2010 11:14:32 -0400
From: Charlton Wilbur <cwilbur@chromatico.net>
Subject: Re: Why does perl allow so many different ways of doing essentially  the same thing?
Message-Id: <86eige7wdj.fsf@mithril.chromatico.net>

>>>>> "PY" == Peng Yu <pengyu.ut@gmail.com> writes:

    PY> According to Programming Perl, more than one way may not always
    PY> be better. But I just don't see more than one way is better at
    PY> all.

comp.lang.python is over there; comp.lang.java is down the hall;
comp.lang.ruby is between the two of them; and comp.lang.c++ is on the
other side.

    PY> In this sense, there were a subroutine that can read multiple
    PY> lines from a file. There is no need that the users should
    PY> understand the different ways of reading muliple lines as
    PY> discussed in other thread mentioned the original post.

Ah, but the reason there are multiple ways to do things is because the
choice of which way to do things depends on the context.

The best way to read *three* lines from a file is not the best way to
read *ten thousand* lines from a file.  Instead of mandating one way,
the Perl philosophy is to assume that you're a competent programmer who
can judge the quality of various solutions for yourself.

If you're a competent programmer, this is a benefit, because *you* get
to decide what the best solution is.  If you're an incompetent
programmer, this is a burden, because it requires you to think
critically about what you're doing, and (as the hypothetical "you" is
incompetent) you'll probably get it wrong anyway.

And if you find that that last bit is too much of a burden, well, if you
found Perl, you can find Python, C++, Ruby, or Java.

Charlton




-- 
Charlton Wilbur
cwilbur@chromatico.net


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

Date: Thu, 10 Jun 2010 09:22:05 +0200
From: Bart Lateur <bart.lateur@telenet.be>
Subject: Re: Why does perl allow so many different ways of doing essentially the  same thing?
Message-Id: <844116t2f3h4ug8ue8qgsoatitsg62uhhs@4ax.com>

Peng Yu wrote:

>But I doubt that having multiple ways of doing the same thing really
>give us any advantages over other languages.

The reason is that thez language cannot know the best way to do a
specific task. So it gets out of your way and lets you decide. In the
end, you may end up with simpler code.

Perl people learn to accept that responsibility. People in some other
languages are afraid of it, and instead, decide to work around the
(artificial) limitations. The GoF book ("Design Patterns") is dedicated
to working around limitations in C++/Java.

-- 
	Bart.


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

Date: Thu, 10 Jun 2010 08:32:39 -0500
From: Ted Zlatanov <tzz@lifelogs.com>
Subject: Re: Why does perl allow so many different ways of doing essentially the  same thing?
Message-Id: <877hm73te0.fsf@lifelogs.com>

On Wed, 09 Jun 2010 12:15:18 -0500 John Bokma <john@castleamber.com> wrote: 

JB> Peng Yu <pengyu.ut@gmail.com> writes:
>> I know some justification that people could choose whatever style they
>> want if there are multiple ways of doing the same thing. But this
>> justification is not convincing to me, considering that it may cause
>> the code not readable and cause many maintenance issues.

JB> Even if a language has a limited number of keywords and ways to do
JB> things there are still a huge number of ways to implement an
JB> algorithm. If in doubt, check out Python. Or better, repost the "how to
JB> read the first 3 lines of a file" question in comp.lang.python, grab
JB> some popcorn, sit back, and watch the drama unfold :-).

I think Peng Yu is asking for something like List::Utils but more
general.  It's not a terrible idea; Simple::Perl (analogous to
Modern::Perl) could be useful to beginners and could even be a way to
teach efficient Perl (through an option to show the generated code).  It
would certainly be better than a DSL.  Another parallel is the Template
Toolkit, which has lots of primitives that make writing raw Perl less
necessary.

But deciding what will be in the API is a very hard task, and
implementing it will be no easier.

Ted


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

Date: Thu, 10 Jun 2010 13:23:39 -0500
From: John Bokma <john@castleamber.com>
Subject: Re: Why does perl allow so many different ways of doing essentially the  same thing?
Message-Id: <874ohawxuc.fsf@castleamber.com>

Ted Zlatanov <tzz@lifelogs.com> writes:

> On Wed, 09 Jun 2010 12:15:18 -0500 John Bokma <john@castleamber.com> wrote: 
>
> JB> Peng Yu <pengyu.ut@gmail.com> writes:
>>> I know some justification that people could choose whatever style they
>>> want if there are multiple ways of doing the same thing. But this
>>> justification is not convincing to me, considering that it may cause
>>> the code not readable and cause many maintenance issues.
>
> JB> Even if a language has a limited number of keywords and ways to do
> JB> things there are still a huge number of ways to implement an
> JB> algorithm. If in doubt, check out Python. Or better, repost the "how to
> JB> read the first 3 lines of a file" question in comp.lang.python, grab
> JB> some popcorn, sit back, and watch the drama unfold :-).
>
> I think Peng Yu is asking for something like List::Utils but more
> general.  It's not a terrible idea; Simple::Perl (analogous to
> Modern::Perl) could be useful to beginners and could even be a way to
> teach efficient Perl (through an option to show the generated code).

My favourite Jurassic Park quote is "Life will find a way". I am
learning Python and follow comp.lang.python and there are countless
discussions on how to do this or that in Python. While the cult strives
for "there should be one - preferably only one - obvious way to do it"
they also call code pythonic (or not) :-) making at least to me clear
that it's not that easy. Python has also several ways to do certain things.

> It would certainly be better than a DSL.  Another parallel is the
> Template Toolkit, which has lots of primitives that make writing raw
> Perl less necessary.

Yup, and IMO makes learning it less easy. And there are many ways to do
things :-). I recently used HTML::Template and for most of what I wanted
to do it was good enough. For other things I had to do some
preprocessing in the code itself which with TT I could've done in
TT. But what's better? Logic in two places or in one? I have often the
feeling that dumbing down a template language results in reinventing
HTML and making it smarter and smarter results in the reinventing of PHP
(but better :-D ).

> But deciding what will be in the API is a very hard task, and
> implementing it will be no easier.

Agreed.

IMO: Perl has a strong focus on not breaking things, while Python has a
strong focus on cleaning up the language / extending the language in a
clean way (if it makes it more Pythonic). I still don't know what's
better. I wish that Perl by now had real OO support and real
exceptions. OTHO, I manage and I do like how flexible Perl can be. And
its (relative) speed.

-- 
John Bokma                                                               j3b

Hacking & Hiking in Mexico -  http://johnbokma.com/
http://castleamber.com/ - Perl & Python Development


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

Date: Thu, 10 Jun 2010 10:00:30 +0000 (UTC)
From: Chris Nehren <apeiron@invalid.isuckatdomains.net>
Subject: Re: Why does perl allow so many different ways of doing essentially the same thing?
Message-Id: <slrni11dtv.2r6u.apeiron+usenet@eschaton.local>

On 2010-06-10, Peng Yu scribbled these
curious markings:
> On Jun 9, 12:18 pm, Charlton Wilbur <cwil...@chromatico.net> wrote:
>> Other languages' cultures prefer that there be one correct way to do
>> things; if that's what you prefer, then you'll probably be happier with
>> another language.
>
> According to Programming Perl, more than one way may not always be
> better. But I just don't see more than one way is better at all.

Indeed, the multitude of ways to do things can be--like anything else in
life--problematic as well as beneficial (imagine that!). To that end,
the EPO (Enlightened Perl Organization: http://enlightened.perl.org)'s
Extended Core movement has adopted the phrase TIMTOWTDIBSCINABTE
(pronounced 'Tim Toady Bicarbonate') There Is More Than One Way To Do
It, But Sometimes Consistency Is Not A Bad Thing Either. See
http://www.dev411.com/blog/2009/01/24/can-epo-or-tpf-tame-timtowtdi and
irc.perl.org/#epo for more info.

-- 
Thanks and best regards,
Chris Nehren


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

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:

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

Back issues are available via anonymous ftp from
ftp://cil-www.oce.orst.edu/pub/perl/old-digests. 

#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 2983
***************************************


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