Tag: Perl
PHP 锁定档案 可以用 flock 函式, 在 Perl 也差不多, 只要使用 Fcntl 模组就可以:
Perl 要对阵列进行排序, 可以用内建函式 sort 来做, 例如: 以上第 7 行用了 sort 对 @words 进行排序, 输出结果会是: abc def mmm xyz 但这个 sort 函式是用字串排序的,如果阵列的值是数值,sort 也会根据字串的方式排序,即 123 会排在 23 前面,因为 “1” 是排在 “2” …
现在很多地方都用上数据库系统, 有一些是检查用户名称及密码的登入系统, 但如果没有对用户输入进行过滤, 会有很多潜在危除, 例如以下程式码: my $sth = $dbh->prepare(“select * from user where user=’$user’ and pass=’$pass'”); 以上这句 SQL 会检索 user 资料表, 找出 user 及 pass 与用户输入匹配的纪录, 有回传便可以登入, 没有回传便登入失败, 这个很容易理解。但如果用户的输入包括了一些特定的 …
在 Perl Scripts 里面除了可以用系统指令进行档案处理外, 也可以用 Perl 直接实现, 做法是这样: 复制档案 Perl 没有内建函式可以复制档案, 但可以透过加载 File::Copy 实现: 上面的语句会将 $old_file 复制到 $new_file. 重新命名档案 虽然 Perl 内建有 rename 函式可以用, 但它在某些档案系统不能运作, 所以用 File::Copy 实现会更好: move …
Perl 有很多实用的的档案运算子, 要检查档案的最后存取及修改时间, 可以用 -M 及 -A 实现,在程式内可以便可以找出指定时间没有被取存或修改的档案, 以下是简单的例子检查档案是否在 30 日内没有修改过: 而除了以上两个外, Perl 还有很多实用的档案运算子: -e 档案存在 -z 档案是空档案 (大小为 0) -s 档案不是空档案 (回值档案大小) -f 档案是普通文件 -d 档案是目录 -l 档案是连结 …
在 Perl 要连接数据库可以使用 DBI module, DBI module 支援多种数据库系统, 例如 DB2, MS SQL Server, Oracle, SQLite, PostgreSQL, Firebird 及 MySQL。只要在程式宣告使用 DBI module, 用 Perl 连接 MySQL 便会跟 PHP 一样简单, 以下是使用例子:
在十多年前读书的时候学 C/C++, 后来因工作关系开始学习 PHP, 学习了 PHP 两年左右开始学 Perl, 主要是写一些系统管理的工具。其他的程式语没有认真学, 要用再找资料。直到目前为止, 当要写一些网页应用程式, 我会用 PHP, 而一些 Linux 系统管理工具会用 Perl。 近年用 Perl 的人越来越少, 我觉得主要原因是很多原本用 Perl 的系统管理员转用 Python, 因为 Python 在 OOP 方面做得比 …
一些用静态 HTML 编写的网站,如果要将每一页的特定文字更新 (例如 copyright),要逐页逐页更改真的十分麻烦。这个问题有几个解决方法,其中一个是在指令模式用 perl 来做替换,例如: 以上指令会将目录下所有 .html 尾的档案更新,用 “new_str” 替换 “src_str”。