首页 > 解决方案 > 如何将字符串和变量的组合分配给另一个变量?

问题描述

如何将字符串和变量的组合分配给另一个变量?

例如,我需要准备一段代码,我需要根据if条件匹配将其写入文件中。这里$mod$param是变量,其余的只是我需要写入文件的纯文本。

$mode = "abc";
$param = "parameter";
if (${mod} == "xyz") {
$tmp_var = $mod #(
$param
) func_cell 
   (/*AUTO*/);
} else {
$tmp_var = $mod  func_cell 
   (/*AUTO*/);
}
# Here I will write `$tmp_var` inbetween other text in my file.

如果我运行上面的代码,我会syntax errors看到(Missing semicolon on previous line?). 我是新手Perl。有人可以帮我修复语法吗?

标签: perl

解决方案


.是 Perl 中的字符串连接运算符。

$y = "bar";
$z = "foo" . $y;
print $z;        # "foobar"

"双引号对内的一些表达式"也被插值(插值规则可能会变得非常复杂),因此使用插值变量编写字符串表达式是连接字符串的另一种方法。

$y = "bar";
$z = "foo$y";
print $z;        # "foobar";

$z = "$ybaz";    # this won't work, looks for a single var named '$ybaz'
$z = "${y}baz";  # but this will. I told you it gets complicated
print $z;        # "barbaz"

推荐阅读