2

インポートという言葉が適切かどうかはわかりません。私は Perl と Bash の両方の初心者です。Bashに変数を設定したので、そうすると:

echo $PRDIR

文字列を出力します(ディレクトリ名です)

その文字列を Perl にインポートしたいのですが、その方法がわかりません。私はもう試した:

$varex = system("$PRDIR");
print "$varex";

また、

$varex = system("echo $PRDIR");
print "$varex";

しかし、それは機能しません(最後のものを理解しています。これはエコーの戻り値であるため、「0」を出力します)。stdout変数へのリダイレクトも試みましたが、できませんでした。

4

3 に答える 3

8

Bash で変数を環境にエクスポートして、プログラムがアクセスできるようにする場合は、exportビルトインを使用できます。

export PRDIR

Perl 内では、%ENVハッシュを使用してアクセスします。

my $varex = $ENV{"PRDIR"};
print "\$varex is: $varex\n";
于 2013-10-13T19:22:55.730 に答える
2

perl で変数を直接使用する別の解決策:

シェル内:

$ export PRDIR=foobar

パールでは:

#!/usr/bin/perl

use Modern::Perl;

use Env qw/PRDIR/;

say $PRDIR;
于 2013-10-13T19:30:41.920 に答える