我有一个简单的问题,希望你们能帮助阐明。我正在稳步学习 perl。
假设我有一个非常大的字符串,例如输出:
our $z = `du -B MB /home`
这将产生如下字符串:
1MB /home/debug/Music
1MB /home/debug/Downloads
20MB /home/debug
20MB /home/
我想知道的是,如何将此字符串加载到具有两列和 n 行的数组中(其中 n 是 du 输出中的行数)?
我正在尝试类似以下内容:
my $z1 = `du -B MB /home | tail -4`;
my @c0 = split (/n/, $z1);
my $z2 = join (/\t/, @c0);
my @c2=split(/\t/, $z2);
print @c2;
产生以下输出:
1MB/home/debug/Music1MB/home/debug/Downloads20MB/home/debug20MB/home
我想我可以使用替换函数 s///g 将目录替换为空值,并将 SPACE 值设置为一个数组,并将空间值设置为空并将其设置为第二个数组,并且可以将 1 个数组设置为键给对方。
有没有人对解决这个问题的最佳方法有任何建议?
任何帮助表示赞赏。
谢谢,
迭戈