||
用了不到90行代码,做了一个用Perl来读取配方数据库的工具。数据库因为保密不能分享,可以说的是,配方数据库的主表叫Main,文件名为PerlFormuDB.db3,放在pl文件的相同目录下,用户名和密码都是空字串.
本来想用于访问MySQL数据库的,但是Perl的DBI::MySQL不够新,无法支持MySQL 8.0以上的加密方式,所以只好转用SQLite数据库来尝试。以下压缩包含源码PDF以及源码本身。
基本思路是,做一个循环(使用Perl中的goto来实现,颇有当年BASIC的风范),只要无输入直接回车才退出。
根据部分条件或完整语句来检索数据库,输出结果。字段值为0或空值的不输出。
解释的地方:
20~34行 显示数据表的所有字段,以方便后面查询语句使用。
46,62行是为了区分不同的SQL语句。52行 如果完整语句中含星号,则特殊处理一下。
72行是取回一行数据,以哈希引用的形式。括号内NAME_uc表示字段名强制大写形式输出(小写lc)。
75行,使用一个临时哈希来处理当前行的数据。80行是去除字段值中的特殊字符,以抑制错误提示。
79行特别简洁有效,当字段值为0或Undef时,直接略过。
仅自娱。备忘用。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-24 11:20
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社