[31529] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 2788 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Jan 25 18:09:27 2010

Date: Mon, 25 Jan 2010 15:09:09 -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           Mon, 25 Jan 2010     Volume: 11 Number: 2788

Today's topics:
    Re: (La)TeX books <RedGrittyBrick@spamweary.invalid>
    Re: (La)TeX books <michal@gortel.phys.ualberta.ca>
    Re: FAQ 4.46 How do I handle linked lists? <cho.seung-hui@vt.edu>
    Re: FAQ 4.46 How do I handle linked lists? <brian.d.foy@gmail.com>
    Re: How to find every occurrence of a substring by a fu <jurgenex@hotmail.com>
    Re: macros: return or exit <marc.girod@gmail.com>
        print array with separator? <pengyu.ut@gmail.com>
    Re: print array with separator? <sreservoir@gmail.com>
    Re: print array with separator? <john@castleamber.com>
    Re: print array with separator? <someone@example.com>
    Re: substitution without affecting the input string <john@castleamber.com>
    Re: substitution without affecting the input string sln@netherlands.com
    Re: substitution without affecting the input string (Randal L. Schwartz)
    Re: substitution without affecting the input string <OJZGSRPBZVCX@spammotel.com>
        What are the minimum and maximum float numbers and inte <pengyu.ut@gmail.com>
    Re: What are the minimum and maximum float numbers and  <OJZGSRPBZVCX@spammotel.com>
        Xah's Edu Corner: Unix Pipe As Functional Language <xahlee@gmail.com>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Mon, 25 Jan 2010 11:58:22 +0000
From: RedGrittyBrick <RedGrittyBrick@spamweary.invalid>
Subject: Re: (La)TeX books
Message-Id: <4b5d8762$0$2482$db0fefd9@news.zen.co.uk>


Michal Jaegermann wrote:
> 
> If you want something on typesetting in general then get yourself, among
> other things, a documentation for 'memoir' class.  It is a book in
> itself.

Thanks for posting that, I found a copy at several places including
3rd Edition: http://bit.ly/8zTMsg and
8th Edition: http://bit.ly/Vcrh

As you say, it contains a very good introduction to typesetting for 
books. Unfortunately, from a brief glance it appears much of this has 
been dropped from the later editions or dispersed into the later content:

   Part 1 - Art and Theory
     Chapter 1 - The Parts of a Book
     Chapter 2 - The Page
     Chapter 3 - Picky Points
     Chapter 4 - Electronic Books

For an introduction to "typesetting in general" I think the earlier 
edition is better.

-- 
RGB


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

Date: Mon, 25 Jan 2010 22:31:30 +0000 (UTC)
From: Michal Jaegermann <michal@gortel.phys.ualberta.ca>
Subject: Re: (La)TeX books
Message-Id: <hjl642$ael$1@tabloid.srv.ualberta.ca>

RedGrittyBrick <RedGrittyBrick@spamweary.invalid> wrote:
> 
> Michal Jaegermann wrote:
>> 
>> If you want something on typesetting in general then get yourself, among
>> other things, a documentation for 'memoir' class.  It is a book in
>> itself.
> 
> Thanks for posting that, I found a copy at several places including
> 3rd Edition: http://bit.ly/8zTMsg and
> 8th Edition: http://bit.ly/Vcrh
> 
> As you say, it contains a very good introduction to typesetting for 
> books. Unfortunately, from a brief glance it appears much of this has 
> been dropped from the later editions or dispersed into the later content:

Changelog for memoir package includes this:
 ....
Changes (2009/08/23)

o Eighth edition of the User Manual covering memoir v1.61803398. 
  The design Part is now in a separate document, memdesign, which 
  should be available from CTAN in /info.

And you know what?  It is there.  Over a hundred pages worth.
http://tug.ctan.org/tex-archive/info/memdesign/memdesign.pdf
http://tug.ctan.org/tex-archive/info/memdesign/memdesign.tex

I guess that I could look closer before posting.

   Michal


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

Date: Mon, 25 Jan 2010 11:25:30 -0500
From: Richard McBeef <cho.seung-hui@vt.edu>
Subject: Re: FAQ 4.46 How do I handle linked lists?
Message-Id: <hjkglp$trt$1@speranza.aioe.org>

PerlFAQ Server wrote:
> This is an excerpt from the latest version perlfaq4.pod, which
> comes with the standard Perl distribution. These postings aim to 
> reduce the number of repeated questions as well as allow the community
> to review and update the answers. The latest version of the complete
> perlfaq is at http://faq.perl.org .
> 
> --------------------------------------------------------------------
> 
> 4.46: How do I handle linked lists?
> [snip]
At YAPC 2009 there was a good talk about some 
occasions where a LL is nice to have in Perl.
Here is a link to the slides.
http://github.com/lembark/Talks/blob/21437a3e24f1ea809685a3e0bb162119bd05b84b/perly-linked-lists.pdf
Really good stuff. Probably the best talk at an
otherwise unusually dull YAPC.


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

Date: Mon, 25 Jan 2010 12:53:03 -0600
From: brian d foy <brian.d.foy@gmail.com>
Subject: Re: FAQ 4.46 How do I handle linked lists?
Message-Id: <250120101253039139%brian.d.foy@gmail.com>

In article <hjkglp$trt$1@speranza.aioe.org>, Richard McBeef
<cho.seung-hui@vt.edu> wrote:


> At YAPC 2009 there was a good talk about some 
> occasions where a LL is nice to have in Perl.
> Here is a link to the slides.
>
> http://github.com/lembark/Talks/blob/21437a3e24f1ea809685a3e0bb162119bd05b84b/
> perly-linked-lists.pdf


I missed that YAPC. I'll look at those slides and see what I can use to
improve the answer.

Thanks,


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

Date: Sun, 24 Jan 2010 21:34:41 -0800
From: Jürgen Exner <jurgenex@hotmail.com>
Subject: Re: How to find every occurrence of a substring by a function?
Message-Id: <81bql5dl010gf2hpak6h18n07ubs222803@4ax.com>

Peng Yu <pengyu.ut@gmail.com> wrote:
>On Jan 24, 8:49 pm, "John W. Krahn" <some...@example.com> wrote:
>> Peng Yu wrote:
>> > I'm wondering if there is a function in perl library that can give me
>> > back all the matches, just like findall in python (see section 3.3 in
>> > the following page).
>> >http://www.amk.ca/python/howto/regex/
>>
>> my @findall = $string =~ /pattern/g;
>
>I think that I didn't make it clear. I want the location of the match.

You wrote: "give me back all the matches". That is different from the
location of those matches.

And according to the documentation your Python findall() appears to
return the found matches, too, not their positions:

findall()  	Find all substrings where the RE matches, and 		
		returns them as a list

jue


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

Date: Mon, 25 Jan 2010 01:57:54 -0800 (PST)
From: Marc Girod <marc.girod@gmail.com>
Subject: Re: macros: return or exit
Message-Id: <c8c74a74-aa86-4408-8f69-0c69b38e6acd@36g2000yqu.googlegroups.com>

On Jan 24, 8:35=A0pm, "Uri Guttman" <u...@StemSystems.com> wrote:
> >>>>> "MG" =3D=3D Marc Girod <marc.gi...@gmail.com> writes:

> again, i am baffled as to your big picture. one day ...

'Big picture' is a philosophical assumption.
In general, there is none. What there are, are bigger pictures,
but they depend upon where you start.
So, we'd have to agree on a starting point, and learn gradually
what hidden (to us) assumptions we made, and why they break.

> but longjump in perl is spelled die/eval. if you wrap your stack of calls
> with eval blocks, you can pop up the stack with dies until you hit the
> one that handles that particular die. you can tell by passing in a die
> string and checking it at each eval and propagating it up if it isn't
> handled there.

Thanks again. This is a very valid answer.
I recognize it as something I knew, and didn't think of:
shame on me! I like this sens of after-the-fact obviousness.
I can very well investigate this path...

Marc


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

Date: Mon, 25 Jan 2010 14:25:32 -0800 (PST)
From: Peng Yu <pengyu.ut@gmail.com>
Subject: print array with separator?
Message-Id: <c922a79f-7eab-4071-bcc8-38e51cf0c210@b10g2000yqa.googlegroups.com>

@array=("a", "b", "c");
print "@array\n";

The above code will not print a separator (say a newline) between the
elements. I could use a foreach loop to do so. But I feel that there
might be a more convenient way. Could somebody let me know if there is
one?

foreach (@array) {
  print;
  print "\n";
}


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

Date: Mon, 25 Jan 2010 17:33:04 -0500
From: sreservoir <sreservoir@gmail.com>
Subject: Re: print array with separator?
Message-Id: <hjl67a$3b4$1@speranza.aioe.org>

On 1/25/2010 5:25 PM, Peng Yu wrote:
> @array=("a", "b", "c");
> print "@array\n";
>
> The above code will not print a separator (say a newline) between the
> elements. I could use a foreach loop to do so. But I feel that there
> might be a more convenient way. Could somebody let me know if there is
> one?
>
> foreach (@array) {
>    print;
>    print "\n";
> }

perldoc -fjoin

-- 

   "Six by nine. Forty two."
   "That's it. That's all there is."
   "I always thought something was fundamentally wrong with the universe"


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

Date: Mon, 25 Jan 2010 17:03:17 -0600
From: John Bokma <john@castleamber.com>
Subject: Re: print array with separator?
Message-Id: <878wblwzwq.fsf@castleamber.com>

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

> @array=("a", "b", "c");
> print "@array\n";

@array = qw( a b c );
$" = "\n";
print "@arr";

$" is the list separator, if you do:

use English;

you can use
$LIST_SEPARATOR = "\n";

which is default a space. (Note that modifying $" or the English variant
stays in effect which might be what you want, or not).

Other options:

print map { "$_\n" } @array;

> foreach (@array) {
>   print;
>   print "\n";
> }

shorter: 

for ( @array) {
    print "$_\n";
}

or:

print "$_\n" for @array;

or:

print join( "\n", @array ), "\n";

and one I which I don't like much:

map { print "$_\n" } @array;

-- 
John Bokma                                                               j3b

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


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

Date: Mon, 25 Jan 2010 15:08:46 -0800
From: "John W. Krahn" <someone@example.com>
Subject: Re: print array with separator?
Message-Id: <2wp7n.9371$Yt6.1559@newsfe23.iad>

John Bokma wrote:
> 
> and one I which I don't like much:
> 
> map { print "$_\n" } @array;

Because it *should* be:

print map "$_\n", @array;



John
-- 
The programmer is fighting against the two most
destructive forces in the universe: entropy and
human stupidity.               -- Damian Conway


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

Date: Sun, 24 Jan 2010 23:41:03 -0600
From: John Bokma <john@castleamber.com>
Subject: Re: substitution without affecting the input string
Message-Id: <87pr4yzqq8.fsf@castleamber.com>

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

> my $string = "The act sat on the mta";
> $string =~ s/act/cat/;
>
> The above command will change the content of $string. Is there a way
> not to update the input string but to return me a new string.

perl -e 'my $string = "The act sat on the mta";
( my $new_string = $string ) =~ s/act/cat/;
print "old: $string\nnew: $new_string\n";
'
old: The act sat on the mta
new: The cat sat on the mta

-- 
John Bokma                                                               j3b

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


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

Date: Mon, 25 Jan 2010 08:18:13 -0800
From: sln@netherlands.com
Subject: Re: substitution without affecting the input string
Message-Id: <ilgrl59fbvid5qbi7qi2m2chl1rvuk1ssi@4ax.com>

On Sun, 24 Jan 2010 19:29:37 -0800 (PST), Peng Yu <pengyu.ut@gmail.com> wrote:

>On Jan 24, 9:03 pm, sreservoir <sreserv...@gmail.com> wrote:
>> On 1/24/2010 9:59 PM, Peng Yu wrote:
>>
>> > my $string = "The act sat on the mta";
>> > $string =~ s/act/cat/;
>>
>> > The above command will change the content of $string. Is there a way
>> > not to update the input string but to return me a new string.
>>
>> do { (my $new = "The cat sat on the mta") =~ s/mta/mat./; $new }
>
>This is indeed looks awkward to me. I still want to preserve the first
>line (my $string = "The act sat on the mta";). To preserve $string, I
>have to make a copy of it (as in the following code). Is there a
>better way?
>
>my $string = "The act sat on the mta";# I don't want to change this
>line
>$newstring=$string
>$newstring =~ s/act/cat/;#Is there a better way for the following two
>lines?

"#Is there a better way for the following two" ?

No, there isin't.
Still have to copy the string.
What do you mean by "better way" ?
Just take out the newline, and you have 1 line:

 $newstring=$string; $newstring =~ s/act/cat/;

Or better yet take out all the newlines in your code
and you will have a 1 liner.

-sln


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

Date: Mon, 25 Jan 2010 08:21:24 -0800
From: merlyn@stonehenge.com (Randal L. Schwartz)
Subject: Re: substitution without affecting the input string
Message-Id: <86ocki6tq3.fsf@blue.stonehenge.com>

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

Peng> This is indeed looks awkward to me. I still want to preserve the first
Peng> line (my $string = "The act sat on the mta";). To preserve $string, I
Peng> have to make a copy of it (as in the following code). Is there a
Peng> better way?

s/// is always in place, for efficiency.  If you want to preserve the
old string, you have to start with a copy.

It's not any more awkward than a language that *only* does copies and you want
the updated string back in the original variable.  You'd probably complain
about that too then. :)

print "Just another Perl hacker,"; # the original

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion


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

Date: Mon, 25 Jan 2010 22:00:08 +0100
From: "Jochen Lehmeier" <OJZGSRPBZVCX@spammotel.com>
Subject: Re: substitution without affecting the input string
Message-Id: <op.u63wmisgmk9oye@frodo>

On Mon, 25 Jan 2010 17:21:24 +0100, Randal L. Schwartz  
<merlyn@stonehenge.com> wrote:

>>>>>> "Peng" == Peng Yu <pengyu.ut@gmail.com> writes:
> Peng> better way?
> It's not any more awkward than a language that *only* does copies and  
> you want the updated string back in the original variable.  You'd  
> probably complain about that too then. :)

Oh, *I* usually complain when the languages does not have built-in  
operators for regular expressions.

Oh wait, that includes almost every language except Perl. *sigh*

> print "Just another Perl hacker,"; # the original


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

Date: Mon, 25 Jan 2010 13:19:32 -0800 (PST)
From: Peng Yu <pengyu.ut@gmail.com>
Subject: What are the minimum and maximum float numbers and integers?
Message-Id: <4990b36d-f880-467b-ad8a-b316050bd880@r19g2000yqb.googlegroups.com>

Is there a way to get the minimum and maximum float numbers and
integers?


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

Date: Mon, 25 Jan 2010 22:27:46 +0100
From: "Jochen Lehmeier" <OJZGSRPBZVCX@spammotel.com>
Subject: Re: What are the minimum and maximum float numbers and integers?
Message-Id: <op.u63xwk0tmk9oye@frodo>

On Mon, 25 Jan 2010 22:19:32 +0100, Peng Yu <pengyu.ut@gmail.com> wrote:

> Is there a way to get the minimum and maximum float numbers and
> integers?

perldoc POSIX


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

Date: Mon, 25 Jan 2010 09:55:12 -0800 (PST)
From: Xah Lee <xahlee@gmail.com>
Subject: Xah's Edu Corner: Unix Pipe As Functional Language
Message-Id: <4c5dad6d-d8e9-46af-8ed8-5bc6dce057df@l11g2000yqb.googlegroups.com>

Dear comrades,

Hot from the press:
=E2=80=A2 Unix Pipe As Functional Language
  http://xahlee.org/comp/unix_pipes_and_functional_lang.html

plain text version follows:

--------------------------------------------------
Unix Pipe As Functional Language

Xah Lee, 2010-01-25

Found the following juicy interview snippet today:

Q: Is there a connection between the idea of composing programs
together from the command line throught pipes and the idea of writing
little languages, each for a specific domain?

Alfred Aho: I think there's a connection. Certainly in the early days
of Unix, pipes facilitated function composition on the command line.
You could take an input, perform some transformation on it, and then
pipe the output into another program. ...

Q: When you say =E2=80=9Cfunction composition=E2=80=9D, that brings to mind=
 the
mathematical approach of function composition.

Alfred Aho: That's exactly what I mean.

Q: Was that mathematical formalism in mind at the invention of the
pipe, or was that a metaphor added later when someone realized it
worked the same way?

Alfred Aho: I think it was right there from the start. Doug McIlroy,
at least in my book, deserves the credit for pipes. He thought like a
mathematician and I think he had this connection right from the start.
I think of the Unix command line as a prototypical functional
language.


It is from a interview with Alfred Aho, one of the creators of AWK.
The source is from this book: Masterminds of Programming:
Conversations with the Creators of Major Programming Languages (2009),
by Federico Biancuzzi et al. (amazon)

Since about 1998, when i got into the unix programing industry, i see
the pipe as a post fix notation, and sequencing pipes as a form of
functional programing, but finding it overall extremely badly
designed. I've wrote a few essays explaining the functional programing
connection and exposing the lousy syntax. (mostly in years around
2000) However, i've never seen another person expressing the idea that
unix pipes is a form of postfix notation and functional programing. It
is a great satisfaction to see one of the main unix author state so.

--------------------------------------------------
Unix Pipe As Functional Programing

The following email content (slighted edited) is posted to Mac OS X
mailing list, 2002-05. Source

From: xah / xahlee.org
Subject: Re: mail handling/conversion between OSes/apps
Date: May 12, 2002 8:41:58 PM PDT
Cc: macosx-talk / omnigroup.com

Yes, unix have this beautiful philosophy. The philosophy is functional
programing. For example, define:

power(x) :=3D x*x

so =E2=80=9Cpower(3)=E2=80=9D returns =E2=80=9C9=E2=80=9D.

Here =E2=80=9Cpower=E2=80=9D is a function that takes 2 arguments. First pa=
rameter
specifies the number to be raised to power, the second the number of
times to multiply itself.

functions can be nested,

f(g(h(x)))

or composed

compose(f,g,h)(x)

Here the =E2=80=9Ccompose=E2=80=9D itself is a function, which take other f=
unctions as
arguments, and the output of compose is a new function that is
equivalent to nesting f g h.

Nesting does not necessarily involved nested syntax. Here's a post fix
notation in Mathematica for example:

x // h // g // h

or prefix notation:

f @ g @ h @ x

or in lisp

(f (g (h x)))

The principle is that everything is either a function definition or
function application, and function's behavior is strictly determined
by its argument.

Apple around 1997 or so have this OpenDoc technology, which is similar
idea applied more broadly across OS. That is, instead of one
monolithic browser or big image editors or other software, but have
lots of small tools or components that each does one specific thing
and all can call each other or embedded in a application framework as
services or the like. For example, in a email apps, you can use BBEdit
to write you email, use Microsoft's spell checker, use XYZ brand of
recorder to record a message, without having to open many applications
or use the Finder the way we would do today. This multiplies
flexibility. (OpenDoc was killed when Steve Jobs become the iCEO
around 1998 and did some serious house-keeping, against the ghastly
anger of Mac developers and fanatics, I'm sure many of you remember
this piece of history.)

The unix pipe syntax =E2=80=9C|=E2=80=9D, is a postfix notation for nesting=
 . e.g.

ps auwwx | awk '{print $2}' | sort -n | xargs echo

in conventional syntax it might look like this:

xargs(  echo, sort(n, awk('print $2', ps(auwwx)))  )

So when you use =E2=80=9Cpipe=E2=80=9D to string many commands in unix, you=
 are doing
supreme functional programing. That's why it is so flexible and
useful, because each component or function does one thing, and you can
combine them in myriad of ways. However, this beautiful functional
programing idea, when it is implemented by the unix heads, becomes a
fucking mess. Nothing works and nothing works right.

I don't feel like writing a comprehensive exposition on this at the
moment. Here's a quick summary:

    * Fantastically stupid syntax.
    * Inconsistencies everywhere. Everywhere.
    * Fucking stupid global variables reliance called environment
variables, which fucks up the whole functional programing paradigm.
    * Implicit stuff everywhere.
    * Totally incompetent commands and their parameters.
(promiscuously non-orthogonal, and missing things, and fucked up in
just more ways than one can possibly imagine. there are one million
way to do one thing, and none are correct, and much simple needs
CANNOT be done! (that's why there are gazillion shells each smart-ass
improving upon the other, and that's why Perl is born too! But asinine
Larry Wall don't know shit but smugly created another complexity that
don't do much.))

Maybe some other day when i'm pissed, i'll write a better exposition
on this issue. I've been wanting to write a final-say essay on this
for long. Don't feel like it now.

--------------------------------------------------
Unix Syntatical and Semantical Stupidity Exposition

The following is posted to a Mac OS X mailing list. Source

From: xah@xahlee.org
Subject: unix inanity: shell env syntax
Date: June 7, 2002 12:00:29 AM PDT
To: macosx-talk@omnigroup.com

Unix Syntatical and Semantical Stupidity Exposition. (this is one of
the many technical expositions of unix stupidity)

(this is currently unpolished, but the meat is there. Input welcome.)

arguments are given with a dash prefix. e.g.

ls -a -l

Order (usually) does not matter. So,

ls -a -l

is the same as

ls -l -a

but arguments can be combined, e.g.

ls -al

means the same thing as

ls -a -l

However, some option consists of more than one character. e.g.

perl -version
perl -help

therefore, the meaning of a option string "-ab" is ad hoc dependent on
the program. It can be "-a -b" or just a option named "ab".

Then, sometimes there are two versions of the same optional argument.
e.g.

perl -help
perl -h

perl -version
perl -v

this equivalence is ad hoc.

Different program will disagree on common options. For example, to get
the version, here are common varieties:

-v
-V
-version

sometimes v/V stands for "verbose mode", i.e. to output more detail.

Sometimes, if a option is given more than once, then it specifies a
degree of that option. For example, some command accept the -v for
"verbose", meaning that it will output more detail. Sometimes there
are few levels of detail. The number of times a option is given
determines the level of detail. e.g. on Solaris 8,

/usr/ucb/ps -w
/usr/ucb/ps -w -w

Thus, meaning of repeated option may have special meaning depending on
the program.

Oftentimes some options automatically turn on or surpress a bunch of
others. e.g. Solaris 8,

/usr/bin/ls -f

When a named optional parameter is of a boolean type, that is a toggle
of yes/no, true/false, exist/nonexist, then it is often times that
instead of taking a boolean value, their sole existence or non-
existence defines their value.

Toggle options are sometimes represented by one option name for yes,
while another option name for no, and when both are present, the
behavior is program dependent.

Toggle options are represented by different option names.

For named options, their syntax is slack but behavior is usually
dependent on the program. i.e. not all of the following works for
every program

command -o=3D"myvalue"
command -omyvalue
comand -o myvalue

Often one option may have many synonyms...

A example of a better design... (Mathematica, Scheme, Dylan, Python,
Ruby... there's quite a lot elegance and practicality yet distinct
designs and purposes and styles ...)

(recall that unix have a bad design to begin with; it's a donkey shit
pile from the beginning and continuation. Again, unix is not simply
technically incompetent. If that, then that's easy to improve, and i
don't have a problem with, since there are things in one way or
another considered horrendous by today's standard like COBOL or
FORTRAN or DOS etc. But, unix is a brain-washing idiot-making machine,
churning out piles and piles of religiously idiotic and pigheaded
keyboard punchers. For EVERY aspects of good engineering methodology
improvement or language design progress opportunity, unixers will
unanimously turn it down.

Inevitably someone will ask me what's my point. My point in my series
of unix-showcasing articles have always been clear for those who
studies it: Unix is a crime that caused society inordinate harm, and i
want unix geeks to wake up and realize it.
Microsoft PowerShell

Note: Microsoft's new shell programing language, PowerShell (b2006),
adopted much of unix shell's syntax and the pipe paradigm, but with a
much consistent and formal design. (see: Xah's PowerShell Tutorial)

  Xah
=E2=88=91 http://xahlee.org/

=E2=98=84


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

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 2788
***************************************


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