以后给自己定一个规矩:以后写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";最后进入程序所在目录运行这个脚本就可以了。
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');
转载于:https://blog.51cto.com/dnsliu/1389783