日期:2013-03-26  浏览次数:20537 次

    
    本章引见如何使用Perl DBI 与MySQL接口。我们不讨论DBI 的基本原理或体系结构。有关DBI 这些方面的信息(特别是与C 和PHP API 的比较),请参阅第5 章。
    本章的举例动用了样例数据库samp_db,使用了学分保存方案和历史同盟需求的表。想要从本章中取得最大收获,最好了解一些有关Perl 的知识。如果不想这样,那么通过拷贝这里看到的样例代码,也能有所协助,并可以编写本人的脚本,不过找一本好的Perl 书,可能仍是一件非常有价值的投资。有这样一本书,名为《Programming Perl 》,第二版是由Wa l l、C h r i s t i a n s e n、Schwartz 和P o t ter(O’ Reilly出版社19 9 6出版)撰写的。(机械工业出版社1999年已出版了《Perl 5编程详解》—编者注。)
    DBI 的当前版本为1. 13,但是此处的大部分引见也可用于更早的1.xx 版本。请留意,对所引见的晚期版本中没有出现的特性作了说明。
    MySQL的DBI 需求至少为5.004_05 的Perl 版本。另外还必须安装Msql-Mysql 模块和Data-Dumper Perl 模块,以及MySQLC 客户机库和一些头文件。如果计划编写基于Web 的DBI 脚本,则要使用CGI.pm 模块。本章中,这个模块用于与Apache Web 服务器的连接。如
果需求获得这样的程序包,请参阅附录A。该附录中也给出了获得本章开发的样例脚本的说明。可以下载这些脚本,不必本人键入。
    很大程度上,本章引见Perl DBI 的方法和变量只是出于讨论的需求。至于所无方法和变量的更全面的列表,请参阅附录G。如果要使用DBI 的任何部分,可以用该附录作为进一步研讨的背景材料。可通过运转下面的命令来得到联机文档:
    % perldoc DBI
    % perldoc DBI::FAQ
    % perldoc DBI::mysql    在数据库驱动程序( DB D)级,MySQL的驱动程序建立在MySQLC 客户机库的基础之上,因此具有它的某些特性。有关该库的详细信息,请参阅第6 章。

    Perl 脚本为文本文件,可以利用任何文本编辑器来创建它们。本章所有的Perl 脚本都服从UNIX 的商定,第一行以‘ #!’开始,接着是执行这个脚本要使用的程序路径名。第一行如下所示:
    #! /usr/bin/perl
    如果在您的系统中,路径名不是Perl,如为/usr/local/bin/perl5 或/ o p t / b i n / per l,则需求修正‘# !’行。否则,Perl 脚本不能在系统中正确运转。
    在‘#!’之后含有一个空格,这是由于有的系统会将‘ #! /’解释为4 个字节的怪异数字,所以如果没有空格,则忽略这一行,这样,会将相应脚本作为外壳脚本来对待。
    在UNIX 系统中,应该使Perl 脚本成为可执行文件,以便只需键入其名称就可执行。为使脚本成为可执行文件,对文件模式做如下更改即可:
    % chmod +X script_name
    如果在Windows 下使用ActiveState Perl,则不必使脚本成为可执行文件,可如下运转一个脚本:
    C:\> perl script_name