【发布时间】:2015-05-23 16:33:59
【问题描述】:
我有两个数组 @uarts 和 @txd,看起来像这样
@uarts = qw(uart_1 uart_10 uart_3 uart_9 );
@txd = qw(PIO_uart_1 PIO_2_uart_1 PIO_uart_3 PIO_uart_10 PIO_uart_5 PIO_uart_9 PIO_uart_7);
我只想从包含@uarts 的任何元素的@txd 中提取那些元素。我为其编写的代码如下,但不起作用。
my @array;
for (my $i = 0 ; $i <= $#uarts ; $i++) {
@array = grep { $_ =~ /$uarts[$i]/ } (@txd);
print "@array\n";
}
【问题讨论】:
-
请学习格式化您的 Perl 代码,使其可读。在这种情况下,我已经为您完成了,但是如果您发布可理解的代码,它将使试图帮助您的人以及您自己受益。
-
这次我做了缩进。对不起,我听不懂
-
啊,好吧。嗯,它肯定比以前更好,但是你有一个不寻常的格式样式,大括号缩进一级,内容再次缩进。在
for之后看到一个空格以将其与函数调用区分开来也很好。查看perldoc perlstyle 了解最常见的标准
标签: arrays perl data-structures