用双引号打印数组的一部分

时间:2018-02-22 14:18:51

标签: perl

我尝试做的是将我的阵列名称打印在一行中 安德鲁"安迪"考夫曼。这是我到目前为止所做的。

#DEFINE AN ARRAY
@names = (Andrew,Andy,Kaufman);

#printing the array
print "@names";

2 个答案:

答案 0 :(得分:3)

#!/usr/bin/env perl

use strict;
use warnings;

#DEFINE AN ARRAY
my @names = ("Andrew","Andy","Kaufman");


$names[1] = "\"$names[1]\"";
print "@names";

这也将修改数组。

答案 1 :(得分:2)

即使Sobrique已经回答,另一个可能的解决方案是

#DEFINE AN ARRAY
my @names = qw(Andrew "Andy" Kaufman);

#printing the array
print "@names";

#DEFINE AN ARRAY
my @names = qw(Andrew Andy Kaufman);
#or
#my @names = ("Andrew","Andy","Kaufman");

#printing the array
print "$names[0] \"$names[1]\" $names[2]";

我认为你的主要麻烦是打印双引号,你只需要用反斜杠来逃避它。这是对perl说的一种方式“嘿,这不是字符串的实际结束,这是我想要在字符串中的字符”