Thanks for taking the time to debug and respond.
Could you please give me a little insight to what this means:
DB<4> printf "%04o", $mode ;
DB<5> printf "%04o", $mode & 07777;
I think you're trying to show me what happens when you binary "&" 33261 and 07777? maybe that doesn't make any sense because the 07777 isn't present in DB<4> but is in DB<5>. I read in a link above that "&" has lower precedence, so that would bean that "printf "%04o", $mode" is evaluated first? But that doesn't make any sense since printf would do the printing... Ok, I thought I was starting to understand... But I don't think I do.