我正在运行一个perl程序" a.pl"在终端中需要调用另一个程序" b.pl"然后将环境转换为tcl shell。该计划" b.pl"设置我必须在主程序中使用的环境变量" a.pl"之后我需要在" b.pl"创建的tcl环境中运行新命令。请参阅下面的示例
计划: a.pl
#!/usr/intel/bin/perl -w
use strict;
use warnings;
#turns it to a tcl shell and sets environment variable VERSION
system ("./b.pl");
system ("source <tclExecutable> -version $VERSION");
第二个系统命令不会执行,直到我在终端中手动退出tcl shell。我看过叉子并打开烟斗,但我不确定该如何去做。我需要在第一个系统命令打开的tcl shell中执行第二个命令。我怎样才能做到这一点?
答案 0 :(得分:0)
您可以运行b.pl
&#34;内部&#34; a.pl使用require
。它可以提供您想要的简单脚本。
a.pl
use strict;
use warnings;
our $Version;
require "/.../b.pl"; # full path to b.pl script
print "Version: $Version\n";
b.pl
use strict;
use warnings;
our $Version;
$Version = "YES!";