On Mon, 22 Oct 2001 12:18:16 -0400
Aaron Sherman <[EMAIL PROTECTED]> wrote:

> > >   $z[0] = 50;
> > >   $z[2] = 20;
> > >   @x = @y[@z];
> > In your code, should @x contain (@y[50,0,20]) or (@y[50,20]) or
> > (@y[50,undef,20]) ?
> @y[50,undef,20], which in Perl5 is @y[50,0,20].

An arbitrary and perhaps confusing decision.

> If there are other means, I'm not thinking of them right now.
> Perl's conversion of undefined values and strings to 0 is VERY
> USEFUL. I'd really like to avoid breaking it. Yes //, makes it
> easier to get over the undef thing, but only a little.

I'm always getting warnings when I do stuff like that in my code.

> Let's take this code as an example:
>       while(<>) {
>               $count++;
>               $total += substr($_,22,2);
>       }
>       printf "Average: %.2f\n", $total/$count;

An interesting example.  The answer I have in mind:

if (m/^.{21}(\d\d)/) {
    $total += $1;
}

> More, someone has mentioned the %x{$_}++ feature, which IMHO, MUST
> continue to work.

What is void plus one?

I think a pragma for this would be ideal.

Sam.

Reply via email to