in reply to
Re^2: state and file perms confusion
in thread state and file perms confusion
What am I seeing?
33188 decimal = 100644 octal (first printf)
07777 octal = 0000111111111111 binary (mask)-|
+- & (bitwise AND)
33188 decimal = 1000000110100100 binary (mode)-|
0644 octal = 0000000110100100 binary (printf after mask)
+ - file type masked out
How can store the number in a scalar rather than printing it?
my $mode = 33188;
my $modeResult = sprintf '%04o', $mode & 07777;
say $modeResult; # prints 0644