It may well be that something like use feature say would be regarded as a rabbit-hole, unless great care were to be taken to ensure that every single one of them was wholly independent of the other, such that they could be specified or omitted in any order or combination. Then there would always be the niggling question of what a particular feature-keyword did or did not include. Maybe that is why use version_number appears to be the use-case of choice.

As far as I know, great care has been taken, and each feature controlled by feature is independent. Please read the resource the former link points to.

Said in a sentence or three that any Monk could instantly understand.

This sentence is written in the third paragraph in the OP: "make the scope of imported functions from some arbitrary package purely lexical, even if that package isn't pragma aware."

That is: implement the facitlity for turning on/off the access to imported subroutines in the same way in which features of strict and warnings can be turned on and off in a lexical scope.

If that explanation is still unclear, don't hesitate to ask.

In particular, how does this feature take Perl out of the main-stream of behavior that I am already conditioned to expect?

I'm not sure what you mean by "main-stream of behavior". I am reading that as "documented behavior". This feature doesn't take perl out of that, it doesn't add bizarre behavior or undocumented magic. It just combines already well documented features (or "perl behavior") into a new, simple to use, package, which provides something currently not available easily: limiting the scope of imported subroutines/functions to a lexical scope. Object oriented methods aren't affected, since the existence of the package in perls symbol table stash is not altered in any way.

perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

In reply to Re^2: RFC: pragma pragmatic by shmem
in thread RFC: pragma pragmatic by shmem

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.