如何用连字符连接 Perl 变量?
How to concatenate Perl variables with a hyphen?
我正在尝试用连字符连接两个或三个变量。请检查以下示例。
my $QueueName = Support;
my $CustomerID = abc;
my $UserCountry = India;
my $Count = 12345;
my $Tn = $QueueName.$CustomerID.$UserCountry.$Count;
我得到以下输出:
"$Tn" = SupportabcIndia12345
但我想要这样:
$Tn = Support-abc-India-12345
您可以使用 join()
以分隔符连接列表元素,
my $Tn = join "-", $QueueName, $CustomerID, $UserCountry, $Count;
您应该使用 strict
和 warnings
来养成良好的编程习惯。虽然你的解决方案在技术上是有效的 Perl,但它会失败 strict
测试,因为你试图用 "barewords".
定义变量
要解决此问题,请将这两行放在代码的顶部:
use strict;
use warnings;
然后修改您的代码以符合 strict
模块的规则。
例如:
my $QueueName = Support;
应该是:
my $QueueName = 'Support';
至于连接变量,这将起作用:
my $Tn = $QueueName.'-'.$CustomerID.'-'.$UserCountry.'-'.$Count;
-或-
my $Tn = "$QueueName-$CustomerID-$UserCountry-$Count";
join
函数也将起作用:
my $Tn = join '-', $QueueName, $CustomerID, $UserCountry, $Count;
根据谁将维护您的代码,前两种方法对于没有 Perl 经验的人来说可能更易读。
这不是很好的 Perl,也不会 运行 在 use strict
下,您确实应该使用它。如果是,您会看到显示的错误。
这样写,改为:
use strict;
use warnings;
my $QueueName = 'Support';
my $CustomerID = 'abc';
my $UserCountry = 'India';
my $Count = '12345';
my $Tn = "$QueueName-$CustomerID-$UserCountry-$Count";
print "$Tn\n";
你必须引用字符串。如果你想要一个连字符,你可以使用上面的方法来分配由连字符分隔的值。
我正在尝试用连字符连接两个或三个变量。请检查以下示例。
my $QueueName = Support;
my $CustomerID = abc;
my $UserCountry = India;
my $Count = 12345;
my $Tn = $QueueName.$CustomerID.$UserCountry.$Count;
我得到以下输出:
"$Tn" = SupportabcIndia12345
但我想要这样:
$Tn = Support-abc-India-12345
您可以使用 join()
以分隔符连接列表元素,
my $Tn = join "-", $QueueName, $CustomerID, $UserCountry, $Count;
您应该使用 strict
和 warnings
来养成良好的编程习惯。虽然你的解决方案在技术上是有效的 Perl,但它会失败 strict
测试,因为你试图用 "barewords".
要解决此问题,请将这两行放在代码的顶部:
use strict;
use warnings;
然后修改您的代码以符合 strict
模块的规则。
例如:
my $QueueName = Support;
应该是:
my $QueueName = 'Support';
至于连接变量,这将起作用:
my $Tn = $QueueName.'-'.$CustomerID.'-'.$UserCountry.'-'.$Count;
-或-
my $Tn = "$QueueName-$CustomerID-$UserCountry-$Count";
join
函数也将起作用:
my $Tn = join '-', $QueueName, $CustomerID, $UserCountry, $Count;
根据谁将维护您的代码,前两种方法对于没有 Perl 经验的人来说可能更易读。
这不是很好的 Perl,也不会 运行 在 use strict
下,您确实应该使用它。如果是,您会看到显示的错误。
这样写,改为:
use strict;
use warnings;
my $QueueName = 'Support';
my $CustomerID = 'abc';
my $UserCountry = 'India';
my $Count = '12345';
my $Tn = "$QueueName-$CustomerID-$UserCountry-$Count";
print "$Tn\n";
你必须引用字符串。如果你想要一个连字符,你可以使用上面的方法来分配由连字符分隔的值。