use Unix::PasswdFile; $pw = new Unix::PasswdFile "/etc/passwd"; $pw->passwd("johndoe", $pw->encpass("newpass")); $pw->commit(); undef $pw;