-3

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

4

3 回答 3

1

你可以使用do. 它用于在特定条件被评估为真时循环指定的代码块。

do { $_ = $_ ? 'true' : 'false'; } for $test, $test1;
于 2013-07-01T14:09:18.093 回答
0

用正则表达式试试:)

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

或者Scalar::Util::looks_like_number()

于 2013-07-01T11:23:56.467 回答
0

你可以用一个简单的 for 循环来做到这一点:

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

如果$_为真,则三元运算符返回字符串"true",反之亦然。三元运算符的返回值被赋值给$_。变量在循环内部被别名$_,因此原始变量被更改。

于 2013-07-01T11:32:51.010 回答