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 "<jonasbn@cpan.org>"

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.

