http://qs321.pair.com?node_id=523044


in reply to Re^3: Six uses for curlies?
in thread Six uses for curlies?

Perhaps a reason for the need for operator overloading is due to the finite number of symbols on a standard keyboard?

Not necessarily, when you consider that any arbitrary language construct can be represented with any arbitrary arrangement of symbols, for example:

MY_NAMED_BLOCK: BlockBegin ### No curly braces were used, but then this is just ### pseudocode, not perl. For (0..10): print sys.accumulator; print sys.newline; EndFor BlockEnd

If you wanted to, you could easily write a script to convert that into perl. Is it perl? No, but it can be translated unambiguously.

When I was new to programming, I used to be much more impressed with the fancy symbols, and I thought there had to be some esoteric and mathematically precise rationale for every element of syntax. Perhaps (on some very deep epistemological level) there is. Another explanation, however, is that some things are just plain easier to type, and different people have different preferences, backgrounds, expectations and styles.

This is an important consideration, because it will help you to be less intimidated about learning new things in perl (and even learning new languages); and less mystified by conventions that may seem confusing at first, but end up saving you a *lot* of time and hassle when you understand what they are good for.


=oQDlNWYsBHI5JXZ2VGIulGIlJXYgQkUPxEIlhGdgY2bgMXZ5VGIlhGV