-3

我写了一个简单的 perl 脚本:

#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;

$Data::Dumper::Pair     = '';
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Terse    = 1;

my @A=( [ 1,2 ],[ 3,4,5 ], [ 6,7,8 ]);
print Dumper(@A);

我得到的输出是:

> ./temp9.pl
[
          1,
          2
        ]
[
          3,
          4,
          5
        ]
[
          6,
          7,
          8
        ]

但我需要的是元素(数组),在它们之间用逗号分隔。我对使用 Data:Dumper 非常熟悉。有什么解决办法吗?预期的输出是:

[
          1,
          2
        ],
[
          3,
          4,
          5
        ],
[
          6,
          7,
          8
        ]

我的另一个问题是在数据转储器中有什么方法可以在数组中的每个元素之前添加一些文本吗?例如,在数组数组中,我可以在每个数组的左大括号之前添加“xyz”吗?

4

1 回答 1

0

更新#2

尝试使用print 'my $aRef = ', Dumper(\@A), ";";. 它将像这样打印:

my $aRef = [
  [
    1,
    2
  ],
  [
    3,
    4,
    5
  ],
  [
    6,
    7,
    8P
  ]
]
;

如果您想更改 Dumper 的输出,您可以将 stdout 重定向到一个变量(参见open)。

print map { "Something $_\n" } split "\n", Dumper(\@A);

输出:

Something [
Something   [
Something     1,
Something     2
Something   ],
Something   [
Something     3,
Something     4,
Something     5
Something   ],
Something   [
Something     6,
Something     7,
Something     8
Something   ]
Something ]
于 2013-06-05T12:01:47.787 回答