The password file used to be a single file which had the scrambled passwords directly in it. Although you sometimes still see this, most of the systems I've delt with keep the actual passwords elsewhere, in a file that's not as widely available as the /etc/passwd file (which needs to be available as a source of user info).
I took a look at the documentation and the source for Unix::PasswdFile and for Unix::ConfigFile, which does the reading and writing for it. I may have missed it, but I didn't see any handling of the shadow file, so that may be the problem.