我在Perl语言以下代码:如何隐蔽简单(平)阵列到多二维(2D)阵列
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my $DF = "/usr/bin/df -Pk"; # HP-UX
my @temp = split /\n/, `$DF`;
shift @temp;
print Dumper \@temp;
和输出的东西如以下(更短的用于更好的可读性):
$VAR1 = [
'/dev/vg00/lvol6 114224 46304 67920 41% /home',
'/dev/vg00/lvol7 8340704 4336752 4003952 52% /opt',
'/dev/vg00/lvol4 520952 35080 485872 7% /tmp',
];
我想将@temp
阵列转换(或创建一个新的数组),以多维(数组的数组)所示:
$VAR1 = [
['/dev/vg00/lvol6', 114224, 46304, 67920, '41%', '/home'],
['/dev/vg00/lvol7', 8340704, 4336752, 4003952, '52%', '/opt'],
['/dev/vg00/lvol4', 520952, 35080, 485872, '7%', '/tmp'],
];
任何帮助?提前致谢! :)
如果你使用一个数组可以跳过换行符分割对于反向捕获:'my @DF = \'/ usr/bin/df -Pk' – TLP 2014-09-03 12:22:32
也可以使用反引号替代:http://www.perlmonks.org/?node_id=177225 – TLP 2014-09-03 12:27:36
@TLP:谢谢信息!但为了避免这样的问题'不能在@ INC中找到Filesys/DiskSpace.pm,并且'Filesys :: Df'模块需要编译,我依靠系统'df'命令。 – Scottie 2014-09-03 13:09:29