我在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