我正在尝试将 pdflatex 作为 Perl 脚本的系统调用运行。就像在使用 system()中所说的那样,应该执行一个外部程序system("command", "arg1", "arg2", "arg3");
来直接运行它并避免打开子 shell。当我这样做时
system("pdflatex", "LaTexFile", ">& stdout.txt") == 0 or die "pdflatex failed with exit code $?";
输出不会写入,stdout.txt
而是打印到终端(STDOUT)。所以我尝试了
system("pdflatex " . "LaTexFile " . ">& stdout.txt") == 0 or die "pdflatex failed with exit code $?";
哪个有效。
How to concatenate strings with Perl概述了如何在 Perl 中进行连接。但它没有说明这些方法有什么区别。当我定义东西时,我通常会这样做,my $var = "name_$othervar";
所以我什至不使用大括号。
任何解释表示赞赏。