我正在尝试运行perl脚本,在perl中执行某些操作并从Web浏览器页面创建文件。我使用的是Windows 7。
这是来源:
use CGI;
use warnings;
use strict;
print "Content-type:text/html; charset=utf-8\r\n\r\n";
print "<a href='./#'>START</a>";
system("C:\Perl\bin\perl C:\xampp\htdocs\xampp\bc\create_yaml.pl");
当我加载此页面时,它将打开cmd,但是我要运行的文件将不会创建任何文件。我如何才能发现脚本是否运行?以及如何运行此脚本?
我尝试更改我想要运行的文件的权限,但仍然无效。 谢谢你的回答。
我会尝试做一个简单的例子。但它没有创建任何文件...嗯,这是错的吗?
use CGI;
use strict;
use warnings;
print "Content-Type: text/html; charset=utf-8\n\n";
system("C:\\Perl\\bin\\perl C:\\xampp\\htdocs\\xampp\\vyber\\bc\\test\\create.pl");
create.pl的来源:
open(INFO,">aaaaaaa.txt");
print INFO "voda";
close INFO;
答案 0 :(得分:1)
我认为你的问题是Windows使用\作为路径名,但是当你把它放在引号中时,你需要转义它,因为它是一个特殊字符。你用\:
逃脱system("C:\\Perl\\bin\\perl C:\\xampp\\htdocs\\xampp\\bc\\create_yaml.pl");
此外,如果您的环境路径变量设置正确,您可以这样做:
system("perl C:\\xampp\\htdocs\\xampp\\bc\\create_yaml.pl");
或者正如amon指出的那样,你可以使用正斜杠:
system("C:/Perl/bin/perl C:/xampp/htdocs/xampp/bc/create_yaml.pl");