NAME Perl::Critic::Policy::logicLAB::ProhibitShellDispatch - simple policy prohibiting shell dispatching AFFILIATION This policy is a policy in the Perl::Critic::logicLAB distribution. VERSION This documentation describes version 0.01 DESCRIPTION Using Perl builtins to dispatch to external shell commands are not particularly portable. This policy aims to assist the user in identifying these critical spots in the code and exchange these for pure-perl solutions and CPAN distributions. The policy scans for: system, exec, qx and the use of backticks, some basic examples. system "touch $0.lock" exec "touch $0.lock"; my $hostname = qx/hostname/; my $hostname = `hostname` Instead use the Perl builtins or CPAN distributions. This will make you distribution easier to control and easier to distribution accross platforms. #hostname use Net::Domain qw(hostname); Using CPAN distributions and Perl builtins makes it easier to distribute your code and defined you requirements to platforms in your build system. Additional examples and remedies are most welcome, since I would love to write a 101 demonstrating violations and their remedies. CONFIGURATION AND ENVIRONMENT This Policy is not configurable except for the standard options. DEPENDENCIES AND REQUIREMENTS * Perl::Critic * Perl::Critic::Utils * Readonly * Test::More * Test::Perl::Critic INCOMPATIBILITIES This distribution has no known incompatibilities. BUGS AND LIMITATIONS This distribution has no known bugs or limitations. BUG REPORTING Please use Requets Tracker for bug reporting: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Perl-Critic-logicLAB-Prohibit-ShellDispatch TEST AND QUALITY The following policies have been disabled for this distribution * Perl::Crititc::Policy::ValuesAndExpressions::ProhibitConstantPragma * Perl::Crititc::Policy::NamingConventions::Capitalization * Documentation::RequirePodLinksIncludeText See also t/perlcriticrc TEST COVERAGE ---------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt bran cond sub pod time total ---------------------------- ------ ------ ------ ------ ------ ------ ------ .../ProhibitShellDispatch.pm 100.0 83.3 100.0 100.0 100.0 100.0 98.0 Total 100.0 83.3 100.0 100.0 100.0 100.0 98.0 ---------------------------- ------ ------ ------ ------ ------ ------ ------ SEE ALSO * http://logiclab.jira.com/wiki/display/PCPLPSD/Home, project Wiki AUTHOR * Jonas B. Nielsen, jonasbn `' LICENSE AND COPYRIGHT Copyright (c) 2011 Jonas B. Nielsen. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.