http://www.perlmonks.org?node_id=773609


in reply to Hidden features of Perl

Esoteric? What the heck is esoteric about them? Agrrr. Anything that's not apparent to someone with strictly imperative background with no computer science knowledge whatsoever is deemed "esoteric". Nonsense.

Jenda
Enoch was right!
Enjoy the last years of Rome.

Replies are listed 'Best First'.
Re^2: Hidden features of Perl
by educated_foo (Vicar) on Jun 22, 2009 at 14:36 UTC
    W(hat|TF) does this have to do with "imperative" or "computer science?" It seems non-obvious to me that a magic filehandle called "DATA" reads everything in the current file after a line containing only "__DATA__". Perl has a lot of non-obvious features, and that thread lists quite a few of them.

      It seems that you are arguing semantics, which isn't the point of this post.. post whatever _you_, personally, consider a "hidden feature". Don't worry about what others consider esoteric. :)

      Most of the stuff is something that looks esoteric to someone who was taught C or Fortran or who taught him/her-self VB and is so used to imperative programming, that he/she cannot think outside that old tiny box. The people that find references hard and higher order functions rocket science.

      And the DATA filehandle is no more esoteric than a print statement. A bit unusual maybe, non-obvious probably, but esoteric? That's a very big stretch of the meaning of the word.

      Jenda
      Enoch was right!
      Enjoy the last years of Rome.

        (Pre-edited to protect silly peoples' silly sensibilities.)

        You're clearly trying to (pee) on that thread by saying that Real Computer Scientists who Love Functional Programming find it all beneath them. I could go on and on asking what being self-taught or being an (oh my (furry) (Gosh)!) imperative programmer has to do with various entries (try "Binary "x" is the repetition operator:"), but it would probably be a waste of time in this programmer (disk)-size war.

        And the DATA filehandle is no more esoteric than a print statement.
        This is so deliberately obtuse that I don't know how to respond. Let's try a short play:
        You: John, please print this.
        John the Secretary: Okay
        ...
        You: John, does DATA refer to: (1) all the lines after __DATA__ in the current file; (2) all the lines after DATA; (3) a file named DATA; (4) none of the above?
        John: ???
        (Fruit). Sometimes I know which words to chant for approval, but just can't bring myself to say them.