On Thu, Feb 15, 2001 at 10:29:33PM +0100, [EMAIL PROTECTED] wrote:
> On Thu, Feb 15, 2001 at 08:19:27PM +0000, Nicholas Clark wrote:
> > On Thu, Feb 15, 2001 at 09:05:55PM +0100, [EMAIL PROTECTED] wrote:
> > > On Thu, Feb 15, 2001 at 11:23:10AM -0800, Nathan Wiger wrote:
> > > > But I have never found a situation where this is so useful to justify
> > > > the other problems it creates. However, there may well be true technical
> > > > reasons why "my $x, $y, $z" does not do what many think it should.
> > > 
> > > As I wrote elsewhere, other reasons not to change the behaviour of my:
> > > 
> > >     GetOptions (foo => \my $foo,
> > >                 bar => \my $bar);
> > > 
> > >     tie my $shoe => $tring;
> > 
> > Hmm. Nathan's example of my is in void context
> > Abigail's are not.
> > 
> > As there appears to be a way to tell them apart, is it possible (sane?) to
> > make both work? Or at least issue warnings (not mandatory, but defaulting
> > to on unless you have some sort of no warnings) for Nathan's case?
> > [where () round all three would make it do what he meant]
> 
> If I have:
> 
>     (my $foo1, $bar1) = (my $foo2, $bar2) = ("foo", "bar");
> 
> then '(my $foo1, $bar1)' is in void context, while '(my $foo2, $bar2)'
> isn't.
> 
> Do you really want them to behave differently?

No. But I couldn't think of anything like that, which was why I asked.

> > best way to shoot down my suggestion is an example where existing behaviour
> > can't be determined from void/scalar/list context.
> 
> Will the above do?

Yes, thanks.
I would *not* like to teach why the they behaved differently.

Nicholas Clark

Reply via email to