foreach (split /,/, $perm) { warn "Invalid permission setting: $_" unless /^[ugoa]+=[rwxsS]+$/; } #### foreach (@perms) { warn "Invalid permission setting detected in $_" unless /^(([ugoa]+=[rwxsS]+)(?(?!$),))+$/; }