2012-05-29 4 views

답변

5

은 아마 map 기능은 더 잘 맞는 당신이 원하는 무엇을위한 것입니다. 다음과 같은 (테스트되지 않은) 코드와 유사 뭔가를 찾고 :리스트 문맥에서

@substrings = map { /^test-results(.*)/ ? $1 :() } @{ $arrayref }; 
+0

도움이되는지도 도구를 이용해 주셔서 감사합니다 .... –

+2

'$ 1'과 친구를 조건부 바깥에서 사용하지 마십시오. 캡처는 마지막으로 성공한 일치에서 가져옵니다. '@substrings = map {/^test-results(.*)/? $ 1 :()} @ {$ arrayref};'. –

+0

@ 그렉 : 고마워요! 나는 물론 모든 것이 일치 할 가능성이 매우 높다는 가정을했다. 대체 됨. :) – sarnold

8

, 정규식 일치 그래서 당신이 필요로하는 모든이, 그 캡처가 일치하는 것의 목록을 반환

@substrings = map /^test-results(.*)/, @$array; 
+0

+1'map' FTW! 나 무슨 일이야? – Jess