设为首页
加入收藏
联系我们
ASP技术 PHP技术 CGI技术 JSP技术 .NET技术 建站技术 VB技术 C++技术 DELPHI技术 编程相关技术
 源码中国-技术中心 >> CGI技术 >> CGI文档 >> 用Perl语句来代替常用的操作系统命令
字号:【 】 
用Perl语句来代替常用的操作系统命令
http://edu.cn700.com (点击数: 时间:2004-11-30)
虽然许多CGI程序在不同的服务器上都运行得很好,但是还有一个问题,当程序员需要对文件进行拷贝,改名或删除时,他用的是特定的操作系统上的shell命令,而没有采用perl语句。 (例如, system("cp $file1 $file2");) 这样做仅在Unix下行得通,而且,当你把未经检查的变量传给shell时,还将可能产生潜在的安全隐患。

下面是一些Perl语句,可以用来替换常用的操作系统命令,这些语句可以工作于任何操作系统上。

### 删除

unlink("$cgidir/file.dat");


### 改名

rename("$cgidir/oldfile.dat","$cgidir/newfile.dat");


### 拷贝

open(FILE1,"<$cgidir/file1.dat");

open(FILE2,">$cgidir/file2.dat");

binmode(FILE1);

binmode(FILE2);

while (<FILE1>) { print FILE2; }

close(FILE1);

close(FILE2);


### 设置文件权限

chmod(0777,"$cgidir/file.dat");


### 创建目录

mkdir("$cgidir/newdir",0777);


### 删除目录

rmdir("$cgidir/newdir");


### 当前日期/时间

$date = scalar localtime(time);

print $date;



通过使用上面介绍的这些技巧,你不仅可以节省时间,而且也可以写出更好的程序。



--------------------------------------------------------------------------------
 上一篇文章:用 perl 实现文件上传
 下一篇文章:用Perl制作页面计数器 (转载于上海热线)
姓 名:  1分 2分 3分 4分 5分
进入论坛 | 发表评论 | 查看评论 | 打印此文 | 关闭窗口 
 
 ▍最新文章
关于我们 | 版权声明 | 广告服务 | 帮助中心 | 联系我们 | 网站地图 | 发布源码 | 设为首页 |