in reply to Perl ISP management.
The paragraph below is how I implemented a system that allowed users to signup via the internet. After reading your input again, I realized that you may not be wanting that functionality.
I wrote a portion of code at one time that added users to a BSD box. Perl was only the Web Interface. I have since learned that my implementation was probably very risky. I had the Perl script add names and passwords to a file that got evaluated every 5 minutes by a cron job. The cron script then called the existing Unix shell scripts to add the user to radius and the system. My main concern was that someone would somehow fake out the system to add a root user. I tried to break the system and couldn't but then again I am no hacker. I'm sure my implementation, at that early a stage of my Perl programming expierence, had vulnerabilities. The code is long gone, we have replaced it with a commercially developed software set called ISPPower, now called Inovaware, it is extremely powerful, but comes with a huge learning curve, big price tag, and difficult documentation. I believe they have a Unix version.
I think the Volkswagon analogy is good, you have a long row to ho. You will save your self lots of time by calling existing Unix scripts if it is safe to do so.
Yoda