#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use feature 'say'; use Test::More; my $file = $ARGV[0]; my @sb = stat( $file ); my $mode = $sb[2] & 0777; warn "mode of [$file] is [$mode]"; ok( -O $file, "File owned by real uid" ); ok( -f $file, "File is a plain file" ); ok( ! ( $mode & 022 ), "File is not group or world writable" ); done_testing; $ perlcritic ./foo.pl Integer with leading zeros: "0777" at line 11, column 21. See page 58 of PBP. (Severity: 5) Integer with leading zeros: "022" at line 17, column 17. See page 58 of PBP. (Severity: 5)