0

我正在尝试运行 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;
4

1 回答 1

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");
于 2013-05-10T20:16:31.360 回答