Re: "Secret" operators

[email protected] ((Philippe 'BooK' Bruhat))
Newsgroups perl.fwp
Message-ID <[email protected]>
Le mardi 01 février 2005 à 18:57, Vladi Belperchinov-Shabanski écrivait:
> On Tue, 1 Feb 2005 15:57:33 +0100
> [email protected] (Philippe 'BooK' Bruhat) wrote:
> 
> > 
> > There's also @{[]} but I don't know f it has a name.
> > 
> > Usage: print "splatt @{[ ... ]} pow"
> > where ... is any valid expression, and the result list is join()ed with $"
> > (space).
> 
> [] construct reference to anonymous array, @{} dereferences the array ref. 
> finally the array is interpolated inside string.
> 
> it is equal to:
> 
>   @a = ( 1, 2, 3 );
>   print "splatt @a pow";
> 
> the only use is to force array context inside string:
> 
>   %a = ( 1, 2, 3 );
>   print "splatt @{[%a]} pow";
>   
> but don't think it is usefull (except obfuscation bonus:))

I won't defend its usefulness (we're here for fun), but sometimes you
don't want to type

    use Acme::MetaSyntactic 'batman';
    print "splatt " . join( " ", metaname(3) ) . " pow";

when

    use Acme::MetaSyntactic 'batman';
    print "splatt @{[metaname 3]} pow";

will do.

-- 
 Philippe "BooK" Bruhat

 A reputation is only as good as the truth beneath it, if any.
                                    (Moral from Groo The Wanderer #91 (Epic))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.