Perl::Critic::Policy::Plicease::ProhibitLeadingZeros - Leading zeroes are okay as the first arg to chmod, and other such reasonableness
version 0.05
perlcriticrc:
[Plicease::ProhibitLeadingZeros]
code:
0123; # not ok 1234; # ok chmod 0700; # ok mkpath($foo, 0700); # ok
Perl interprets numbers with leading zeros as octal. If that's what you really want, its better to use oct and make it obvious. However, some operations are well known as using octal such as chmod and mkpath so this policy disallows mistakes like this:
oct
chmod
mkpath
my $x = 1231; my $y = 2345; my $z = 0032;
But not non-mistakes like this:
chmod 0700, "secret_file.txt";
or this:
use File::Path qw( mkpath ); mkpath("/foo/bar/baz", 1, 0700);
or is this:
use Path::Class qw( dir ); dir()->mkpath(1,0700);
None.
This policy is not configurable except for the standard options.
Because mkpath is not a built in (as chmod is), this policy does not differentiate between the mkpath function provided by File::Path or the mkpath method provided by Path::Class::Dir and arbitrary mkpath function or methods that you or someone else might define. Also, there is no way to really check if the object invocant of a mkpath method is really an instance of Path::Class::Dir.
This policy is based largely on the existing in-core policy, and one in the lax bundle, but adds a few exceptions that I find useful.
Author: Graham Ollis <plicease@cpan.org>
Contributors:
Ville Skyttä (SCOP)
This software is copyright (c) 2019-2024 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Perl::Critic::Plicease, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl::Critic::Plicease
CPAN shell
perl -MCPAN -e shell install Perl::Critic::Plicease
For more information on module installation, please visit the detailed CPAN module installation guide.