On Mon, Jan 12, 2009 at 03:30:05PM -0800, Ovid wrote:
> > From: Larry Wall <[email protected]>
> > : my @array = ' foo ', ' bar ';
> > : @array .= trim;
> > : say @array.perl;
> > :
> > : And what if I have an array of hashes of hashes of arrays?
> > :
> > : Currently you can call 'trim' on arrays, but it's a no-op.
> > : Similar issues with chomp and friends.
> >
> > It should probably say "No such method".
S29 doesn't document .trim, but like other similar methods I
would expect it to be defined on C<Any>. If so, I would
expect the output of the above to be C< ["foo bar"]\n >.
> > We have hyperops now to apply
> > scalar operators to composite values explicitly:
> >
> > @array».=trim
>
> Won't that fail with 'No such method' on an array of hashes?
> Or are hyperops applied recursively?
I would expect this to be roughly equivalent to:
for @array { $_ .= trim; }
For an array of hashes, this would result in each hash element
of @array being replaced with a reference to an array of the
trimmed string representation of the hash.
Pm