我正在尝试编写一个perl脚本,我将数据读入一个数组,这是一个像这样的命令的输出:
my @a = system "p4 changes -u";
现在数据已进入数组@a看起来像这样:
change 256789 on date.. by user@workspace 'some description'
change 256788 on date.. by user@workspace 'some description'
..........................................................
...........................................................
.
.
..
...
有很多行
现在我想做的是将每个条目的“some description
”字段放到另一个数组中,然后在其中附加一些常用文本。
任何想法如何做到这一点,我对Perl相对较新,所以没有多少想法如何去做。
答案 0 :(得分:2)
system
执行命令但不捕获输出。要捕获输出,您可以使用backticks(`)或qx
运算符。
#!/usr/bin/env perl
use strict;
use warnings;
my @descriptions;
for (qx{p4 changes -u}) {
chomp;
push @descriptions, /(?<=')(.+)(?=')/;
}
答案 1 :(得分:0)
也许就是这样:
@b = map { /('[^']+')/; "abc $1 xyz"; } @a;
print "$_\n" for @b;