我想下面的陣列中找到名稱tank2
,所以我做如何在數組上使用正則表達式?
#!/usr/bin/perl
use strict; use warnings;
my @out = ("aaa\n", "pool: tank2\n", "ccc\n");
foreach my $line (@out) {$line =~ /pool: (.+)/; print $1;}
,並得到
Use of uninitialized value $1 in print
tank2tank2
我的兩個問題是
- 出於某種原因,這個名字打印兩次並出現錯誤。
- 如何在第一次找到變量時將結果/名稱保存在變量中?
一個字:grep的。 – m0skit0
而不是'{$ line =〜/ pool:(。+)/;打印$ 1;}'say'{$ line =〜/ pool:(。+)/ && print $ 1;}' – devnull
絕對不要使用'$ 1','$ 2'和朋友。 –