Re: How to default? (was Unary dot)

2002-04-12 Thread Piers Cawley
Trey Harris [EMAIL PROTECTED] writes: I think I've missed something, even after poring over the archives for some hours looking for the answer. How does one write defaulting subroutines a la builtins like print() and chomp()? Assume the code: for { printRec; } printRec

Re: How to default? (was Unary dot)

2002-04-12 Thread Aaron Sherman
On Fri, 2002-04-12 at 04:26, Piers Cawley wrote: Trey Harris [EMAIL PROTECTED] writes: I think I've missed something, even after poring over the archives for some hours looking for the answer. How does one write defaulting subroutines a la builtins like print() and chomp()? Assume the

Re: How to default? (was Unary dot)

2002-04-12 Thread Jonathan Scott Duff
On Fri, Apr 12, 2002 at 09:40:16AM -0400, Aaron Sherman wrote: On Fri, 2002-04-12 at 04:26, Piers Cawley wrote: Trey Harris [EMAIL PROTECTED] writes: I think I've missed something, even after poring over the archives for some hours looking for the answer. How does one write

Re: Defaulting params

2002-04-12 Thread Aaron Sherman
On Fri, 2002-04-12 at 00:37, Melvin Smith wrote: At 04:03 PM 4/11/2002 -0400, Aaron Sherman wrote: Notice that we have two different types of defaulting here. The second argument is the file to work on, and we set it to a reasonable default if it is undefined for whatever reason. However,

Re: How to default? (was Unary dot)

2002-04-12 Thread Graham Barr
On Fri, Apr 12, 2002 at 09:26:45AM +0100, Piers Cawley wrote: Trey Harris [EMAIL PROTECTED] writes: I think I've missed something, even after poring over the archives for some hours looking for the answer. How does one write defaulting subroutines a la builtins like print() and chomp()?

Re: How to default? (was Unary dot)

2002-04-12 Thread Aaron Sherman
On Fri, 2002-04-12 at 09:52, Jonathan Scott Duff wrote: On Fri, Apr 12, 2002 at 09:40:16AM -0400, Aaron Sherman wrote: sub printRec() { printRec($_) } # No args, therefore no new topic. sub printRec($rec) { .chomp; print :$rec:\n } # 1 arg I think was he was saying is

Re: How to default? (was Unary dot)

2002-04-12 Thread Ashley Winters
- Original Message - From: Graham Barr [EMAIL PROTECTED] Hm, I wonder if sub printRec($rec=$_) { ... } or someother way to specify that the current topic be used as a default argument, might be possible Would it would be reasonable to have given default to the caller's topic?

Re: How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
In a message dated Fri, 12 Apr 2002, Ashley Winters writes: Would it would be reasonable to have given default to the caller's topic? sub printRec { given { # $_ is now the caller's topic in this scope } } Perhaps Cgiven caller.topic {} would work as well. Yes, something

Re: How to default? (was Unary dot)

2002-04-12 Thread Luke Palmer
On Fri, 12 Apr 2002, Trey Harris wrote: I think I've missed something, even after poring over the archives for some hours looking for the answer. How does one write defaulting subroutines a la builtins like print() and chomp()? Assume the code: for { printRec; } printRec

Re: How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
In a message dated Fri, 12 Apr 2002, Luke Palmer writes: Couldn't you do it with old-style Perl5 subs? sub printRec { my $p = chomp(shift // $_); print :$_:\n } Or am _I_ missing something? That definitely won't work (aside from the $p/$_ swap which I assume is unintentional),

Re: How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
Oops, caught my own mistake... In a message dated Fri, 12 Apr 2002, Trey Harris writes: In a message dated Fri, 12 Apr 2002, Luke Palmer writes: sub printRec { my $p = chomp(shift // $_); print :$_:\n } [Should be equivalent to] sub printRec { my $p = chomp(shift //

Re: Unary dot

2002-04-12 Thread Paul Johnson
On Thu, Apr 11, 2002 at 08:49:40AM -0700, Larry Wall wrote: Aaron Sherman writes: : On Thu, 2002-04-11 at 00:42, Luke Palmer wrote: : $foo.instancevar = 7; : : This should not be allowed. Well, that depends on what you mean by this. :-) That is, in fact, calling an accessor

Re: How to default? (was Unary dot)

2002-04-12 Thread Trey Harris
In a message dated Fri, 12 Apr 2002, Glenn Linderman writes: $_ becomes lexical $_ gets aliased to the first topic of a given clause (hence changes value more often, but the lexical scoping helps reduce that impact) Okay. But it sounds like you're saying that Cgiven, and Cgiven only,

Re: How to default? (was Unary dot)

2002-04-12 Thread Allison Randal
On Fri, Apr 12, 2002 at 02:44:38AM -0400, Trey Harris wrote: I think I've missed something, even after poring over the archives for some hours looking for the answer. How does one write defaulting subroutines a la builtins like print() and chomp()? Assume the code: for { printRec;

Re: How to default? (was Unary dot)

2002-04-12 Thread Allison Randal
Okay, first thing to keep in mind, this hasn't been finally-finalized yet. Alot was hashed out in the process of proofing E4, but there will be more to come. On Fri, Apr 12, 2002 at 07:39:17PM -0400, Trey Harris wrote: In a message dated Fri, 12 Apr 2002, Glenn Linderman writes: $_ becomes

Re: How to default? (was Unary dot)

2002-04-12 Thread Glenn Linderman
Allison Randal wrote: In a message dated Fri, 12 Apr 2002, Glenn Linderman writes: $_ becomes lexical Sound logic. And it almost did go that way. But subs that access the current $_ directly are far too common, and far to useful. One thing I'm missing is how those common useful subs that

Re: Unary dot

2002-04-12 Thread damian
Dave Mitchell wrote: The top 20 'my $var' declarations in .pm files in the bleedperl distribution: How *dare* you introduce hard data into this discussion! Next you'll be wanting to deal in actual facts rather than personal opinion and sheer guesses!! ;-) Thanks, Dave. Very illuminating.

Subroutine variables are like underwear

2002-04-12 Thread Miko O'Sullivan
SUMMARY A way to declare public names for params irrelevant to the internal variable names: sub load_data (-filename $filename_tainted ; 'version' 'ver' $version_input / /= 1) {...} DETAILS Subroutine variables are like underwear: you don't generally go showing them to everybody. So, when

Re: Fisher-Yates shuffle

2002-04-12 Thread Piers Cawley
[EMAIL PROTECTED] writes: On Fri, Apr 12, 2002 at 04:00:37PM +0100, Piers Cawley wrote: X-posting to perl6-language [EMAIL PROTECTED] writes: As for cleanness, this is my interpretation of how perl6 is going to work: %foo = (); if %foo {key} {print Hello 1}

Re: Fisher-Yates shuffle

2002-04-12 Thread abigail
On Fri, Apr 12, 2002 at 04:00:37PM +0100, Piers Cawley wrote: X-posting to perl6-language [EMAIL PROTECTED] writes: As for cleanness, this is my interpretation of how perl6 is going to work: %foo = (); if %foo {key} {print Hello 1} %foo = (); if

Re: Fisher-Yates shuffle

2002-04-12 Thread abigail
On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote: [EMAIL PROTECTED] writes: Why isn't if %foo {key} {print Hello 1} equivalent with the perl5 syntax: if (%foo) {key} {print Hello 1} Which keyword is it expecting? Keyword /els(e|if)/, or end of line, or

Re: Fisher-Yates shuffle

2002-04-12 Thread Luke Palmer
On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote: [EMAIL PROTECTED] writes: Why isn't if %foo {key} {print Hello 1} equivalent with the perl5 syntax: if (%foo) {key} {print Hello 1} Which keyword is it expecting? Keyword /els(e|if)/, or end of line, or

Re: Fisher-Yates shuffle

2002-04-12 Thread Erik Steven Harrison
-- On Fri, 12 Apr 2002 18:27:11 abigail wrote: On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote: [EMAIL PROTECTED] writes: Why isn't if %foo {key} {print Hello 1} equivalent with the perl5 syntax: if (%foo) {key} {print Hello 1} Which keyword is it

Re: Subroutine variables are like underwear

2002-04-12 Thread Luke Palmer
On Fri, 12 Apr 2002, Miko O'Sullivan wrote: SUMMARY A way to declare public names for params irrelevant to the internal variable names: sub load_data (-filename $filename_tainted ; 'version' 'ver' $version_input / /= 1) {...} I like it. It's clean (doesn't introduce any wierd

Re: Fisher-Yates shuffle

2002-04-12 Thread Piers Cawley
[EMAIL PROTECTED] writes: On Fri, Apr 12, 2002 at 04:42:07PM +0100, Piers Cawley wrote: [EMAIL PROTECTED] writes: Why isn't if %foo {key} {print Hello 1} equivalent with the perl5 syntax: if (%foo) {key} {print Hello 1} Which keyword is it expecting? Keyword