以后给自己定一个规矩:以后写perl的脚本把配置的一些变量都写到一个配置文件里面:site_config.pl里面,然后在主程序perl脚本里面加上require 'site_config.pl';就可以了,类似于下面的格局:
公用的程序就放到common文件夹下,主程序放在progs下。
例如我这次perl连接oracle的脚本程序:
site_config的内容如下:
package config;
$aRoot = 'C:\cls\cn'; #程序所在根目录
$oRoot = 'E:\clsout\cn';#程序一些文件输出的根目录
$ip = localhost;
$orcl_sid_uat = 'orcl';
$orcl_user_uat = 'scott';
$orcl_pass_uat = 'oracle';
$debit_sid_uat_test = 'debituat_test';
$debit_user_uat_test = 'debit';
$debit_pass_uat_test = 'acs_debit';
主程序内容如下:
#---------------------------------------------------------------
# Project Name:
# >>perl连接oracle实验
#
# Program Description:
# >>This job is scheduled via Windows scheduler to run
# on demand to loading interfaces generated by 测试 System
#
# Usage: perl_oracle.pl
#
# Note:
# >> We loading following CLS tables:
# contacted_customer
#
# Author:LLL
# e-Mail:LLL@163.com
#
#---------------------------------------------------------------
require 'site_config.pl';
#!/usr/bin/perl
#perl script used to connect to Oracle
use strict;
use DBI;
#创建连接
my $dbh=DBI->connect("dbi:Oracle:host=$ip;sid=$orcl_sid_orcl", $orcl_user_uat, $orcl_pass_uat) or die "Cannot conenct oracle11g: $DBI::errstr\n";
#声明变量
my $deptno = 99;
my $dname = "denver";
my $loc = "test";
#插入数据
my $sql = qq{INSERT INTO dept VALUES(?,?,?)};
my $sth = $dbh->prepare($sql);
$sth->execute($deptno, $dname,$loc);
#删除数据
my $sql = qq{DELETE FROM dept WHERE loc='$loc'};
my $sth = $dbh->prepare($sql);
#$sth->execute();
print "--I have deleted the record!\n";
#查询数据
my $sql = qq{SELECT deptno, dname, loc FROM dept};
my $sth = $dbh->prepare($sql);
$sth->execute();
#my ($pid, $pname); #declare columns
$sth->bind_columns(undef, \$deptno, \$dname, \$loc);
print "The results are:\n\n";
while ( $sth->fetch() ) { #fetch rows from DataBase
print "ID:$deptno, --- NAME:$dname, --- LOC:$loc\n";
}
$sth->finish();
#修改数据
my $loc = "newddd";
my $sql = qq{update dept set loc='$loc' where deptno=$deptno};
my $sth = $dbh->prepare($sql);
$sth->execute();
#断开连接
$dbh->disconnect or warn "DB disconnect failed: $DBI::errstr\n";
print "Disconnected from Oracle databae!\n";
最后进入程序所在目录运行这个脚本就可以了。
$dbh=DBI->connect('DBI:mysql:sample_db','root','quigley1') or die "Can't connect";
$dbh=DBI->connect('DBI:mysql:database=sample_db;user=root;password=quigley1');