我需要以与diff -y
工作方式类似的方式将输出打印到Perl中的文件。
示例输出是这样的。
Master Slave
node -- canvas 1.0.3 | node -- canvas 1.0.2
node -- jquery 1.8.3.0.0.0 | node -- jquery 2.1.1
yahooooo -- test 1.0.0.0.0.0.0.0.0.0 | yahooooo -- test 1.1.0.0.0.0.0.0.0.0
“主”和“从”列中的内容不是固定长度。
试过这个,
foreach my $row (sort keys %version_err) {
format STDOUT =
@<<<<<<<<<<<<<<<<<<<<<<<<<<< @|||| @<<<<<<<<<<<<<<<<<<
$version_err{$row}->[0] $version_err{$row}->[1] $version_err{$row}->[2]
.
write;
}
答案 0 :(得分:3)
在这些情况下,您应该使用format。
答案 1 :(得分:0)
格式选项可以是Text::Table
为了获得正确的数据,您可能需要类似
的内容use Text::Table;
my @table;
foreach my $row (sort keys %version_err) {
push @table, [ $version_err{$row}->[0], $version_err{$row}->[1], $version_err{$row}->[2]];
#or just: push @table, $version_err{$row};
}
my $tb = Text::Table->new("Col 1", "Col 2", "Col 3");
$tb->load(@table);
print $tb;