NAME Strict::Perl - Perl module to restrict old/unsafe constructs SYNOPSIS use Strict::Perl 2014.06; # must version, must match DESCRIPTION Strict::Perl provides a restricted scripting environment excluding old/unsafe constructs, on both modern Perl and traditional Perl. Strict::Perl works in concert with Fake::Our if Fake::Our is used in your script. Version specify is required when use Strict::Perl, like; use Strict::Perl 2014.06; It's die if specified version doesn't match Strict::Perl's version. On Perl 5.010001 or later, Strict::Perl works as; use strict; use warnings qw(FATAL all); use Fatal qw( # by compatible routine in Strict::Perl seek sysseek dbmclose dbmopen binmode close chmod chown fcntl flock ioctl open sysopen truncate chdir closedir opendir link mkdir readlink rename rmdir symlink pipe msgctl msgget msgrcv msgsnd semctl semget semop shmctl shmget shmread accept bind connect getsockopt listen recv send setsockopt shutdown socketpair fork ); use autodie qw( read sysread syswrite fileno ); Prohibited Keywords, Special Variables, and Operator are; goto redo until foreach format write formline msgctl msgget msgrcv msgsnd semctl semget semop shmctl shmget shmread shmwrite given when $ARRAY_BASE $[ $OFMT $# @F $^H $OUTPUT_FIELD_SEPARATOR $OFS $, $OUTPUT_RECORD_SEPARATOR $ORS $\ $LIST_SEPARATOR $" $SUBSCRIPT_SEPARATOR $SUBSEP $; $MULTILINE_MATCHING $* $PREMATCH $` $MATCH $& $POSTMATCH $' $FORMAT_PAGE_NUMBER $% $FORMAT_LINES_PER_PAGE $= $FORMAT_LINES_LEFT $- $FORMAT_NAME $~ $FORMAT_TOP_NAME $^ $FORMAT_LINE_BREAK_CHARACTERS $: $FORMAT_FORMFEED $^L $ACCUMULATOR $^A ~~ (smartmatch) Must Keyword in your script is; VERSION Please see POD document for other Perl version and more information. INSTALLATION 1. Copy Strict/Perl.pm to @INC directory. SEE ALSO ina - CPAN http://search.cpan.org/~ina/ BackPAN - A Complete History of CPAN http://backpan.perl.org/authors/id/I/IN/INA/