… | |
… | |
10 | # |
10 | # |
11 | # use strict qw(vars subs); |
11 | # use strict qw(vars subs); |
12 | # use feature qw(say state switch); |
12 | # use feature qw(say state switch); |
13 | # no warnings; |
13 | # no warnings; |
14 | # use warnings qw(FATAL closed threads internal debugging pack substr malloc |
14 | # use warnings qw(FATAL closed threads internal debugging pack substr malloc |
15 | # unopened portable prototype inplace io pipe unpack regexp |
15 | # portable prototype inplace io pipe unpack regexp |
16 | # deprecated exiting glob digit printf utf8 layer |
16 | # deprecated exiting glob digit printf utf8 layer |
17 | # reserved parenthesis taint closure semicolon); |
17 | # reserved parenthesis taint closure semicolon); |
18 | # no warnings qw(exec newline); |
18 | # no warnings qw(exec newline unopened); |
19 | |
19 | |
20 | =head1 DESCRIPTION |
20 | =head1 DESCRIPTION |
21 | |
21 | |
22 | This module implements some sane defaults for Perl programs, as defined by |
22 | This module implements some sane defaults for Perl programs, as defined by |
23 | two typical (or not so typical - use your common sense) specimens of Perl |
23 | two typical (or not so typical - use your common sense) specimens of Perl |
… | |
… | |
188 | |
188 | |
189 | =cut |
189 | =cut |
190 | |
190 | |
191 | package common::sense; |
191 | package common::sense; |
192 | |
192 | |
193 | our $VERSION = '2.02'; |
193 | our $VERSION = '2.03'; |
194 | |
194 | |
195 | # paste this into perl to find bitmask |
195 | # paste this into perl to find bitmask |
196 | |
196 | |
197 | # no warnings; |
197 | # no warnings; |
198 | # use warnings qw(FATAL closed threads internal debugging pack substr malloc unopened portable prototype |
198 | # use warnings qw(FATAL closed threads internal debugging pack substr malloc portable prototype |
199 | # inplace io pipe unpack regexp deprecated exiting glob digit printf |
199 | # inplace io pipe unpack regexp deprecated exiting glob digit printf |
200 | # utf8 layer reserved parenthesis taint closure semicolon); |
200 | # utf8 layer reserved parenthesis taint closure semicolon); |
201 | # no warnings qw(exec newline); |
201 | # no warnings qw(exec newline unopened); |
202 | # BEGIN { warn join "", map "\\x$_", unpack "(H2)*", ${^WARNING_BITS}; exit 0 }; |
202 | # BEGIN { warn join "", map "\\x$_", unpack "(H2)*", ${^WARNING_BITS}; exit 0 }; |
203 | |
203 | |
204 | # overload should be included |
204 | # overload should be included |
205 | |
205 | |
206 | sub import { |
206 | sub import { |
207 | # verified with perl 5.8.0, 5.10.0 |
207 | # verified with perl 5.8.0, 5.10.0 |
208 | ${^WARNING_BITS} ^= ${^WARNING_BITS} ^ "\xfc\x3f\xf3\x00\x0f\xf3\xcf\xc0\xf3\xfc\x33\x03"; |
208 | ${^WARNING_BITS} ^= ${^WARNING_BITS} ^ "\xfc\x3f\x33\x00\x0f\xf3\xcf\xc0\xf3\xfc\x33\x03"; |
209 | |
209 | |
210 | # use strict vars subs |
210 | # use strict vars subs |
211 | $^H |= 0x00000600; |
211 | $^H |= 0x00000600; |
212 | |
212 | |
213 | # use feature |
213 | # use feature |