arrays - 如何将简单(平面)数组转换为多维(2D)数组

标签 arrays perl multidimensional-array

我有以下 Perl 语言代码:

#!/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'],
        ];

有人帮忙吗?提前致谢! :)

最佳答案

@temp = map [ split ], @temp ;

关于arrays - 如何将简单(平面)数组转换为多维(2D)数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25643994/

相关文章:

c - 涉及结构体和数组的段错误,但不分开

javascript - 为什么这个 JavaScript 代码组合数组的元素而不是添加元素?

PHP多维数组获取逗号分隔的字符串值

perl - Mojolicious::Lite - 插入图片问题

perl - 我可以使用基于 Moose 的对象将正则表达式传递给 isa() 吗?

c# - 可选的多维数组作为 C# 中的参数

c++ - 指向数组的指针的声明 - 访问问题

perl - File::Basename->fileparse 返回 "File::Basename"

c - 二维数组错误

javascript - JSON 编码的多维数组返回错误的语法(意外的])