我认为以前给出的脚本令人困惑,这是我现在要运行的脚本,这不是创建目录,请帮助我.
如果代码是愚蠢的,我不会支持,因为我只是perl的初学者.你能否建议我使用这个脚本的正确方法,如果我有任何错误?
在output_folder1.txt包含10010和output_folder.txt_2包含30001.
我无法创建输出文件.
#!/usr/local/bin/perl -w
use strict;
print "Content-type:text/html\n\n";
my(@folder_name,$temp1,$temp2);
open ONE,"<","/var/www/html/piRNA_html/UNAFold/output_folder_1.txt" || die "Cannot open the file";
@folder_name=<ONE>;
close ONE;
open TWO,"<","/var/www/html/piRNA_html/UNAFold/output_folder_2.txt" || die "Cannot open the file";
push(@folder_name,<TWO>);
close TWO;
print $folder_name[0],"\n",$folder_name[1],"\n";
$temp1 = pop(@folder_name);
$temp2 = pop(@folder_name);
if($temp1 < 30050)
{
mkdir "/var/www/html/piRNA_html/UNAFold/output/$temp2/$temp1",0777 or die "File cannot be created";
}
Run Code Online (Sandbox Code Playgroud)
你需要添加$!到你的模具字符串(die "File cannot be created: $!").这会给你原因.$!是来自操作系统的错误消息.请参阅perlvar中的"错误变量".
你似乎很可能一次尝试mkdir两个目录(…/$temp2和…/$temp2/$temp1).你需要两个mkdir调用,或者使用File::Path's make_path.
| 归档时间: |
|
| 查看次数: |
8147 次 |
| 最近记录: |