in reply to Re: RFC: Self Assessment Perl
in thread RFC: Self Assessment Perl

> Indicating how critical each piece of knowledge is might be useful though?

as I said I didn't prioritize, and things are too interconnected.

like {%h} is not only a ref to an anonymous hash but the %h is flattened inside the { LIST } operation.

> You can get quite good with perl without having to understand BEGIN or even the notion of compile/run time, so I was kind of surprised that this was the first question.

My colleagues have to understand modules, for that to understand they need compile-time and namespaces

(I'm sick of all the requires into main:: in our code...)

Variable declaration happens at compile-time, die'ing at run-time should be avoided , ... and so on.

> Where can I look this up? ... Best question.

yes but they also need a mental map of essential key words.

A condensed Perlglossary would be nice, probably more explicit and with less Larry injokes.

> Actually this made me realize that I didn't know the answer to that correctly

Mission accomplished! :)

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Replies are listed 'Best First'.
Re^3: RFC: Self Assessment Perl
by Corion (Patriarch) on Sep 06, 2018 at 14:18 UTC

    I think you don't need to understand BEGIN to understand modules at a certain level. I think a useful lie is that use is just like require+->import(), and to postpone the discussion of BEGIN.

    You can always gloss over that by saying that use must appear at the top of any code.

      Not in our case, we have self-written "modules" messing around.

      And colleagues who hacked 10+ years in Perl should be confronted with the concept.

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Re^3: RFC: Self Assessment Perl
by Eily (Monsignor) on Sep 06, 2018 at 14:53 UTC

    Maybe you could add "what are the TWO differences between use and require?" to your list of questions then.

      To be clear, I think it's important to understand what the concept of compile-time is.

      The question for BEGIN is just one possibility to activate a thought process...

      • sub declaration has compile- and run-time effects
      • my declaration has compile- and run-time effects

      The situation was that many people with different skills wanted to join a workshop, where most can't communicate what they need to know.

      I actually had to kick out one person who came unprepared and without former notice, and wanted to drag the whole workshop into his Delphi/Pascal world.

      As soon as my colleagues know at least the names of the "concepts" they will have the vocabulary to communicate without me being there.

      To give you a wider perspective, I'm just reading an important DSL book from a Java guy who constantly keeps using the word "closure" as synonym for "anonymous function" or "lambda". That's total BS, but quite common in other languages...

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery FootballPerl is like chess, only without the dice