Using the Cpanel::Accounting Perl module

The Cpanel::Accounting Perl module is designed to give applications that use Perl an easy way of manipulating accounts. If you are connecting to a remote server you need to set the usessl varible to 1. This module requires the Net::SSLeay Perl module to be installed.

Cpanel::Accounting supports the following methods:

Below is a sample Perl program.

#!/usr/bin/perl

BEGIN {

       push (@INC,"/usr/local/cpanel");

}

use Cpanel::Accounting;



my($whm) = Cpanel::Accounting->new;

$whm->{host} = "localhost";

$whm->{user} = "<USERNAME HERE>";

$whm->{accesshash} = '<REMOTE ACCESS KEY HERE>';

$whm->{usessl} = 1;



my %ACCTS = $whm->listaccts();    

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}



#$name,$hasshell,$bwlimit,$quota,$ip,$cgi,$frontpage,$cpmod,$maxftp,$maxsql,$maxpop,$maxlst,$maxsub,$maxpark,$maxaddon

$response = $whm->editpkg("testpkg2",0,50000,5000,0,1,1,"bluelagoon",10,10,10,10,10,10,10);    

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}



foreach $acct (sort keys %ACCTS) {

       @ACCTCT = @{$ACCTS{$acct}};

       print "$acct @ACCTCT\n";

}



$response = $whm->killacct("<USERNAME TO TERMINATE>");

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}

print $response;

       







my %PKGS = $whm->listpkgs();

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}

foreach $package (sort keys %PKGS) {

       @PKCTS = @{$PKGS{$package}};

       print "$package @PKCTS\n";

}





$response = $whm->createacct("<DOMAIN NAME HERE>","<USERNAME HERE>","<PASSWORD HERE>","<PACKAGE HERE>");

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}      

print $response;





$response = $whm->suspend('<USERNAME HERE>');

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit;

}      

print $response . "\n";



$response = $whm->unsuspend('<USERNAME HERE>');

if ($whm->{error} ne "") {

       print "There was an error while processing your request: Cpanel::Accounting returned [$whm->{error}]\n";

       exit

}

print $response . "\n";