如何用string替换变量的值

时间:2013-07-01 11:18:01

标签: perl replace

我有一个名为$test=0$test1=1的变量。我需要将$test="false"$test1="true"的值替换为$test=0$test1=1的值。我怎么能这样做。

3 个答案:

答案 0 :(得分:1)

您可以使用do。它用于循环指定的代码块,同时将特定条件评估为true。

do { $_ = $_ ? 'true' : 'false'; } for $test, $test1;

答案 1 :(得分:0)

尝试使用正则表达式:)

if ($test =~ m/\d/ ) {
    $test = "false";    
}
if ($test1 =~ m/\d/ ) {
    $test = "true";    
}

Scalar::Util::looks_like_number()

答案 2 :(得分:0)

您可以使用简单的for循环执行此操作:

for ($test, $test1) {
    $_ = $_ ? "true" : "false";
}

如果$_为真,则三元运算符返回字符串"true",反之亦然。三元运算符的返回值分配给$_。变量在循环内别名为$_,因此原始变量会发生变化。