用Perl语句来代替常用的操作系统命令

王朝perl·作者佚名  2006-11-24
宽屏版  字体: |||超大  

虽然许多CGI程序在不同的服务器上都运行得很好,但是还有一个问题,当程序员需要对文件进行拷贝,改名或删除时,他用的是特定的操作系统上的shell命令,而没有采用perl语句。 (例如, system("cp ");) 这样做仅在Unix下行得通,而且,当你把未经检查的变量传给shell时,还将可能产生潜在的安全隐患。

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

### 删除

unlink("/file.dat");

### 改名

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

### 拷贝

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

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

binmode(FILE1);

binmode(FILE2);

while (<FILE1>) { print FILE2; }

close(FILE1);

close(FILE2);

### 设置文件权限

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

### 创建目录

mkdir("/newdir",0777);

### 删除目录

rmdir("/newdir");

### 当前日期/时间

= scalar localtime(time);

print ;

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有