Actually, in this case it must be:
use 5.006;
require is a runtime statement, but if we're using 5.6.0 syntax we need the version check at compile time. Compare these two examples, one with
require and one with
use, and their results with perl5.005_03:
#!perl
require 5.006;
use strict;
our $var = 7;
__END__
Global symbol "$var" requires explicit package name at tmp.pl line 4.
Execution of tmp.pl aborted due to compilation errors.
#!perl
use 5.006;
use strict;
our $var = 7;
__END__
Perl 5.006 required--this is only version 5.00503, stopped at tmp2.pl
+line 1.
BEGIN failed--compilation aborted at tmp2.pl line 1.
I believe I was correct when I said 'non-backward compatible'; I was referring to the use of version strings with require/use, as in
require 5.6.0;. That feature is forward compatible (future versions of perl5 will support version strings) but not backwards compatible (past versions of perl do not support version strings).
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.