0

私は次のハッシュ構造を持っています

test =>  '/var/tmp $slot'

my $slot_number = 0;  # just another variable.

次に、キーの値をフェッチして、$test_commandという変数に格納します。

今、私はと呼ばれる別の変数$slotに置き換える必要がありますので、 これを試しています$test_command$slot_number

$test_command =~ s/$slot/$slot_number/g;  this does not work

$test_command =~ s/$slot/$slot_number/ee; does not work

$test_command =~ s/\$slot/\$slot_number/g; this does not work

期待される出力は

$test_command = /var/tmp 0
4

2 に答える 2

3

これはどう? $test_command=~s/\$slot/$slot_number/g;

このコード:

my $slot_number = 5;
my $test_command = '/var/tmp $slot';
$test_command=~s/\$slot/$slot_number/g;
print "$test_command\n";

プリント:

/var/tmp 5

2番目の変数を値に置き換えたい場合は、2番目の変数をエスケープしたくありません。

于 2012-05-09T18:16:38.503 に答える
1

あなたはとても近いです!以下があなたが望むことをするかどうか見てください:

use strict;
use warnings;

my $test_command = '/var/tmp $slot';
my $slot_number = 0;

$test_command =~ s/\$slot/$slot_number/;

print $test_command;

出力

/var/tmp 0
于 2012-05-09T18:24:05.733 に答える