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...)

Reply via email to