ReturnFileMask returns a filemask obtained by 'stat' to the -rwxrwxrwx format.... please tell me if there is a better way to do this.... We couldn't find one... and it works great in our case sub ReturnFileMask($) { my $Numeric=sprintf "%3o",(shift)&07777; my $Mask='-'; foreach(split //,$Numeric) { my $Tmp=$_; my @Pat=qw(r w x); foreach(4,2,1) { (($Tmp-=$_) ge 0) ? ($Mask.=shift @Pat) : ($Mask.="-") && ($Tmp+=$_) && (shift @Pat); } } return $Mask; }