Picked up from slashdot: > I really dislike having a concatenation operator that's a valid identifier > character. There's just no reason for it.
> And I don't completely buy the excuse that we're running out of punctuation > characters. If you're going to jumble some of them up and talk about the > "Huffman" reason for picking multi-character operators for some and not > for others: let's do a little more housecleaning. Get rid of the bit > operators as punctuation characters and make them named operators. That frees > up some punctuaction for something that's not used very often anyway. > BTW, if you're under the impression that they're used frequently try: > for i in `find /usr/local/lib/perl5 -name *.pm`; > do if perl -wc $i >/dev/null 2>&1; then perl -MO=Terse $i | grep 'bit_'; > fi done >> bitops > Sure it doesn't pick up everything (late compilation), but in the 1056 files > I have there I had exactly 7 occurances of bit operators. This does not > impress me enough to use valuable punctuation. Now, I just tried it on perl5.6.1, and roughly speaking he's right. I get eight. They are: /usr/local/lib/perl5/5.6.1/sun4-solaris/B/Concise.pm SVOP (0x20c7a0) const PV (0x217ac4) "bit_and" SVOP (0x20c7c8) const PV (0x217ad0) "bit_xor" SVOP (0x20c7f0) const PV (0x217adc) "bit_or" /usr/local/lib/perl5/5.6.1/sun4-solaris/File/Glob.pm BINOP (0x2003f8) bit_or [21] /usr/local/lib/perl5/5.6.1/File/Temp.pm BINOP (0x2c7bf8) bit_or [13] BINOP (0x2c7b30) bit_or [11] BINOP (0x2c7f40) bit_or [19] BINOP (0x2c2118) bit_or [29] So, maybe this would be a good way to supplement the language design, by categorizing how popular given operators are in actual practise? Ed (ps- as for the concatenation operator remark, all I can say is that I hope that something else is done, else statements like $my_variable _ FUNCTION are going to look awful confusing...)