2011-09-16 32 views

答えて

3

あなたが唯一@dataRecordのマッチング要素の一つが必要な場合は、grepを使用して、

my $variable = [ grep(/@/,@dataRecord) ]; 
0

配列リファレンスない可能性があります使用する必要がありますgrepリターン1要素他

my ($variable) = grep(/@/,@dataRecord); 

よりも意味している場合最も適切な選択肢になります。 grepは、抽出するマッチの数に関係なく、すべての要素をチェックするためです。

@dataRecordに複数の一致する可能性のある要素があるかどうかをまず判断する必要があります。あなたが最初に一致した要素が必要な場合は、List::MoreUtils::firstvalを使用したほうが良いと思います:

firstval BLOCK LIST 
first_value BLOCK LIST 

はBLOCKが真と評価されたため、リスト内の最初の要素を返します。 LISTの各要素は、順に$_に設定されています。そのような要素が見つからなければundefを返します。

関連する問題