如何显示Perl阵列

阵列是一个基本的数据结构在Perl编程语言。 在元件阵列可以不同的类型。

有时你需要带来一系列Perl在屏幕上。 有几种方法来这样做。

使用 join()

通常,最好的方式获得的价值从Perl 阵列屏幕上的是使用 该功能 join(). 使用功能 join() 创建一个字符串中的阵列数值,然后 把这串到屏幕上。 这里有一个例子:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);

print join(', ', @arr);

我们已经确定了一系列 @arr 在这放几个数字和一个字符串,然后 使用 join(', ', @arr) ,我们已经创建了一个字符串中使用 print 把它带到屏幕上。 结果这种代码: 1, 20, asdf, 100. 这是一个好方法,因为它清楚的。

使用 Data::Dumper

有时候是必要的要看结构的数据存储在一个变量。 适合的图书馆 Data::Dumper. 这个图书馆配有Perl, 别这不要放。 使用 Data::Dumper 你可以看看什么是可变的。 这是一个示例的代码显示信息有关的阵列:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my @arr = (1, 20, 'asdf', 100);

print Dumper \@arr;

输出的程序:

$VAR1 = [
          1,
          20,
          'asdf',
          100
        ];

使用 print

但是,除了使用 join()Data::Dumper 列在屏幕上 撤回使用 print:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);

print @arr;

其结果的程序:

120asdf100

正如你可以看到, print @arr 印刷的所有阵列元素结合在一起。 元件阵列的输出是不会分离。 有时这就是你所需要的和有时不是。

但不是这种方法 print @arr的 往往是更好地写明 print join('', @arr);. 记录与 join()的 更易于阅读的人。

$,

有一个特殊的可变 $,,其控制 print集 元件阵列的输出。 例如,可以补充以前的例子中,地方 在这个变量的符号 ,.

▶ Run
#!/usr/bin/perl

$, = ',';

my @arr = (1, 20, 'asdf', 100);

print @arr;

该计划显示一个文本在这元件阵列的逗号分开 1,20,asdf,100.

$, 可以包含不只一个角色,但几种。 如果这个变量 分配一串 $, = ', ';,然后输出将可以更多一点的描述性的: 1, 20, asdf, 100.

如果可变 $,的 分配符号 \n,那么每个元件阵列,将显示 在一个单独的行:

▶ Run
#!/usr/bin/perl

$, = "\n";

my @arr = (1, 20, 'asdf', 100);

print @arr;

但大多数往往最好是不使用可变的 $,,并使用该功能 join() 为了明确地收集值从一系列来一串。 问题变 $, 那是一个值可以被分配,在一个地方在程序 和 print ,受此影响的变量是在一个完全不同的地方的计划。 当使用 join() 组分是立即显而易见的。 另一个问题变 事实上,它影响到所有 print 位于其后的分配。

ARRAY(0x561c66b32870)

有时当你进入一个Perl列的屏幕上,你可以看到线 ARRAY(0x561c66b32870). 这意味着屏幕显示器而不是一系列参数。 这里的一个例子是代码 显示一串这样的:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);
my $arr_ref = \@arr;

print $arr_ref;

为了显示阵在屏幕上或使用 Data::Dumper, 或间接引用的链路,而不是 print $arr_ref;print @{$arr_ref};. 更好的是,编写 print join('', @{$arr_ref});

相关的主题

其他文章