2012-05-29 22 views

cevap

5

Muhtemelen map işlevi daha iyi bir uyum istediğini içindir. Aşağıdaki (denenmemiş) koduna benzer bir şey arıyoruz: Liste bağlamda

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

Yardımcı harita aracı için teşekkürler .... –

+2

Hiçbir zaman şartsız olarak '$ 1' ve arkadaşları kullanmayın. Yakalar son başarılı maçtan. @substrings = map {/^test-results(.*) /? 1 $:()} @ {$ diziref}; '. –

+0

@Greg: Teşekkürler! Tabii ki herşeyin eşleşeceği, potansiyel olarak oldukça yanlış olduğu varsayımını yapmıştım. Değiştirilen. :) – sarnold

8

, regex maç böylece tüm ihtiyaç vardır, onun yakalar eşleşti ne bir listesini verir:

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

+1 'harita' FTW! Ne kadar @ikegami! – Jess