... e.g. if it's hard or impossible to execute /bin/passwd via a CGI script (e.g. because the sysadmin won't provide Expect.pm in this context), that's not an unreasonable situation, and it would be quite foolish to circumvent that
and if you can circumvent it (since passwd is setuid root), you might as well install the modules while you're at it.