It seems to me that the majority of recommended programming practices here on PM involve avoiding dynamic scoping as much as possible. Examples: I've tried to think of situations when dynamic scoping turns out to be convenient. Here's what I've come up with: It dawned on me that the problems addressed well by dynamic scoping involve only subroutines (including method calls). I don't see any other big problems addressed that can't be dealt with lexically. I don't pretend to know a lot about language design, so I may be missing something obvious here. Anyway, after thinking about this for a while I concluded, why not just make subroutine/method calls dynamically scoped and force everything else lexical?

Perhaps the answer is just as simple as "Perl shouldn't force anything, even our scoping preferences." But I want to know what you all think. Also, is dynamic scoping still hanging around just for posterity? Is Perl moving away from dynamic scoping?

Thanks,
blokhead


In reply to Why does Perl use dynamic scoping? by blokhead

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.