use Win32::FileSecurity qw(MakeMask Get Set); #file premissions sub set_permission{ my($file, $perm)=@_; Set($file,\%$perm) ; } %PERMISSIONS=("CTSDEV\\Domain Admins"=>"F", "Everyone"=>"C", "Production Control"=>"F", "Systems & Technology"=>"C"); while (($usr,$mask) = each %PERMISSIONS) #set the permissions {$PERMISSIONS{$usr}=MakeMask($mask);} set_permission("\\\\ctscolfpadev\\acpt\\phrem\\bin\\test.exe",\%PERMISSIONS) or die "Just couldn't\n";