_default_socket_ports
_default_socket_ports
generate_random_string
NAME
SysAdmin - Parent class for SysAdmin wrapper modules.
SYNOPSIS
###
## Using the Net::SMTP/MIME::Lite wrapper module
###
my
$smtp_object
= new SysAdmin::SMTP(
"localhost"
);
my
$from_address
=
qq("Test User" <test_user\@test.com>)
;
my
$subject
=
"Test Subject"
;
my
$message_body
=
"Test Message"
;
my
$email_recipients
= [
"test_receiver\@test.com"
];
$smtp_object
->sendEmail(
from
=>
$from_address
,
to
=>
$email_recipients
,
subject
=>
$subject
,
body
=>
$message_body
);
---
###
## Using the Net::SNMP wrapper module
###
my
$ip_address
=
"192.168.1.1"
;
my
$community
=
"public"
;
my
$snmp_object
= new SysAdmin::SNMP(
ip
=>
$ip_address
,
community
=>
$community
);
my
$sysName
=
'.1.3.6.1.2.1.1.5.0'
;
my
$query_result
=
$snmp_object
->snmpget(
"$sysName"
);
"$ip_address\'s System Name is $query_result\n"
;
---
###
## Using the DBD::Pg wrapper module
###
my
$db
=
"dbd_test"
;
my
$username
=
"dbd_test"
;
my
$password
=
"dbd_test"
;
my
$host
=
"localhost"
;
my
$port
=
'5432'
;
### Database Table
##
# create table status(
# id serial primary key,
# description varchar(25) not null);
##
###
my
$dbd_object
= new SysAdmin::DB::Pg(
db
=>
$db
,
db_username
=>
$username
,
db_password
=>
$password
,
db_host
=>
$host
,
db_port
=>
$port
);
## Select Table Data
## SQL select statement
my
$select_table
=
qq(select id,description from status)
;
## Fetch table data with "fetchTable"
my
$table_results
=
$dbd_object
->fetchTable(
"$select_table"
);
## Extract table data from $table_results array reference
foreach
my
$row
(
@$table_results
) {
my
(
$db_id
,
$db_description
) =
@$row
;
## Print Results
"DB_ID $db_id, DB_DESCRIPTION $db_description\n"
;
}
### Insert Data
## SQL Insert statement
my
$insert_table
=
qq(insert into status (description)
values
(?));
## Insert Arguments, to subsitute "?"
my
@insert_table_values
= (
"Data"
);
## Insert data with "insertData"
$dbd_object
->insertData(
"$insert_table"
,\
@insert_table_values
);
## The insertData Method could also be expressed the following ways
my
$insert_table_values
= [
"Data"
];
$dbd_object
->insertData(
"$insert_table"
,
$insert_table_values
);
# or
$dbd_object
->insertData(
"$insert_table"
,[
"Data"
]);
### Select Table Row
## SQL Stament to fetch last insert
my
$fetch_last_insert
=
qq(select description
from status
where description = 'Data')
;
## Fetch table row with "fetchRow"
my
$row_results
=
$object
->fetchRow(
"$fetch_last_insert"
);
## Print Results
"Last Insert: $row_results\n"
;
---
###
## Using the IO::File wrapper module
###
## Declare file object
my
$file_object
= new SysAdmin::File(
name
=>
"/tmp/test.txt"
);
## Read file and dump contents to array reference
my
$array_ref
=
$file_object
->readFile();
foreach
my
$row
(
@$array_ref
){
"Row $row\n"
;
}
## Write to file
my
@file_contents
= (
"First Line"
,
"Second Line"
);
$file_object
->writeFile(\
@file_contents
);
## Append file
my
@file_contents_append
= (
"Third Line"
,
"Fourth Line"
);
$file_object
->appendFile(\
@file_contents_append
);
## Check File Exist
my
$file_exist
=
$file_object
->fileExist();
if
(
$file_exist
){
"File exists\n"
;
}
## Declare directory object
my
$directory_object
= new SysAdmin::File(
name
=>
"/tmp"
);
## Check Directory Exist
my
$directory_exist
=
$directory_object
->directoryExist();
if
(
$directory_exist
){
"Directory exists\n"
;
}
DESCRIPTION
This is a master class for SysAdmin wrapper modules. Example SysAdmin modules are SysAdmin::DB, SysAdmin::Expect, SysAdmin::SMTP, etc.
SEE ALSO
SysAdmin::DB
SysAdmin::Expect
SysAdmin::File
SysAdmin::SMTP
SysAdmin::SNMP
AUTHOR
Miguel A. Rivera
COPYRIGHT AND LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.