There are several things to say about that. First, all Perl 6 programs already "use strict refs" because Perl 6 differentiates ${$hardref} from $::($symref) syntactically.

Second, all Perl 6 programs already "use strict syms" because there are no barewords in Perl 6.

That leaves only "use strict vars" which, as has been pointed out, is on by default in modules and classes. So all you have to do to get strictures in the main program is put

module Main;
at the top, and you automatically get strictures and warnings. Hey, it's a lot shorter than IDENTIFICATION DIVISION... :-)

Look, I grew up in California, where we have decent freeways, by and large. A good freeway has to have both fast lanes and slow lanes, and onramps that don't require you to merge until you're ready. Not everyone coming up the onramp into the slow lane has an engine with great acceleration. I drive a 1977 Honda Accord, and I don't particularly appreciate merging into a freeway when someone whose shoesize is larger than their IQ is coming up in the slow lane at 90 mph, usually in an oversized SUV. But most drivers here are polite, and if you come onto the freeway with less-than-ideal velocity or acceleration, they'll move over to let you on.

Requiring you to say module Main to get strictures is in the same category as moving over a lane to make it easier for someone to get started on Perl 6, I think. I admit it's an arbitrary place to draw the boundary, but all the other places are just as arbitrary.


In reply to Re^3: Why isn't C<use strict> the default? by TimToady
in thread Why isn't C<use strict> the default? by BrowserUk

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.