以后给自己定一个规矩:以后写perl的脚本把配置的一些变量都写到一个配置文件里面:site_config.pl里面,然后在主程序perl脚本里面加上require 'site_config.pl';就可以了,类似于下面的格局:

wKiom1M8-u-QFWA6AABOQn4xrrY773.jpg

公用的程序就放到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";
最后进入程序所在目录运行这个脚本就可以了。

http://www.blogbus.com/renylai-logs/25418661.html

$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');