如何从Windows上另一个名为second.pl的perl脚本中执行名为“ first”(无扩展名)的文件的perl脚本?
第一个文件的内容:
#!/usr/bin/perl5.8.4 -w
>> Some code
second.pl的文件内容:
#!/usr/bin/perl
use strict;
use warnings;
system "first";
所以我的问题是,当我从Windows命令行执行文件“ first”时,它可以工作
但是如果我尝试使用system "first";
从文件“ second.pl”运行它
它失败,并显示以下错误:
can't exec "first" : Not a directory at "second.pl" at line 6
答案 0 :(得分:1)
Windows使用文件扩展名来确定如何运行文件。由于您没有扩展名,因此操作系统认为您正在尝试打开目录。
您可以通过将system "first";
更改为
system $^X, "first"
这将使Windows再次运行当前的Perl解释器,并将脚本名作为第一个参数传递,这将使Perl来运行它。