Re: "Secret" operators
[email protected] (José Castro)
| Newsgroups | perl.fwp |
|---|---|
| Message-ID | <[email protected]> |
* McGlinchy, Alistair ([email protected]) wrote: > Hi All, > > High in fun, but low in usefulness is -+- , a high precedence string > numerifier. It sort of looks like an A C Clarke style spacestation so > that's what I've been calling it. Although I'm not too sure that Larry's > spaceship <=3D> would be able to dock to easily. Of course it would! <=> | + | Larry's probably been there a couple of times... > Examples: > print -+-'23a' # prints 23 > print -+-'3.00' # prints 3=09 > print -+-'1.2e3' # prints 1200 > =09 > I know 0+ does the trick too, but binary + has a relatively low > precedence. Perl will automatically numerify the arguments of the * > operator but won't do so for x, !~ or =3D~. Hence this operator is = > useful > for removing unsightly parenthesises from some expressions. > > print 0+'20GBP' x 3; # Wrong. Prints 20 =3D=3D > 0+"20GBP20GBP20GBP" > print (0+'20GBP') x 3; # Wrong. x 3 is applied to the return of > print > print((0+'20GBP') x 3); # Right, but too Lispy=20 > print -+-'20GBP' x 3; # Right. Spacestation to the rescue! > > Unfortunately -+- is bugged [*], but I'll leave these as gotcha's for > your production code. :-) > > > > Cheers, > > Alistair > > [*] You might want to consider: print -+- '-2B' x 5; # Bug? > > > ----------------------------------------------------------------------- > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D > Registered Office: > Marks and Spencer plc > Waterside House > 35 North Wharf Road > London > W2 1NW > > Registered No. 214436 in England and Wales. > > Telephone (020) 7935 4422 > =46acsimile (020) 7487 2670 > > <<www.marksandspencer.com>> > > Please note that electronic mail may be monitored. > > This e-mail is confidential. If you received it by mistake, please = > let us know and then delete it from your system; you should not = > copy, disclose, or distribute its contents to anyone nor act in = > reliance on this e-mail, as this is prohibited and may be unlawful. -- Jose Alves de Castro <[email protected]> http://jose-castro.org/