2015-04-28 66 views
0

我是Perl編程的新手。Perl刪除數組中的類似字符串

我需要查找和刪除部分匹配數組中的字符串。

舉例來說,在我的數組有字符串:

@array = qw(abcd.txt abcdeff.txt abcdweff.txt abcdefrgt.txt); 

我只是想第一abcd.txt保存到數組,並刪除其餘的(這是在第4個字符相似),即它只打印abcd.txt@print "@array";被調用時。

+0

這不是重複的,它有所不同。 – AKHolland

+0

'@print「@array」;'是錯誤的。它應該是'print'@array「;' – serenesat

回答

3
my %seen; 
@array = grep !$seen{ substr($_,0,4) }++, @array; 
+0

謝謝你的工作 @array = qw(abcd.txt abcdeff.txt abcdweff.txt abcdefrgt.txt efghijk.txt efghijksdf.txt efghijkasdfw.txt); – Xpx

+0

那是什麼?它也應該這樣做,擺脫任何具有與前面的元素相同的前四個字符的元素 – ysth

+0

是的,它也可以。 – Xpx