Oh, OK, looks like that can be done by the user; from the manual page,
Code:
ftpasswd --passwd --name=user --change-password
If you were going to do that with a shell program, it's a pretty straightforward process because the user's shell environment knows the user name so a one-liner would probably do; e.g.,
Code:
#!/bin/sh
#
# changeit
#
[path-to]ftpasswd --passwd --name=${USER} --change-password
It should prompt and that's pretty much that.
'Course you have to set it up first with the proper options, but that looks like it would do (and users really ought to know what their user name is and should be able to handle typing the above, eh?). Unless I'm missing something really basic, it seems like a shell or PERL program is, uh, overkill for the purpose.