我正逐行循環一個文件,它有鍵 - >值對,然後輸出到xml。我如何進行檢查以確保我還沒有輸出這個鍵/值對? 在C#中,我會通過插入字典,然後使用.Contains(),perl中的任何提示來做到這一點。perl防止鍵值重複
回答
你可以使用perl hash來做同樣的事情。
my %seen;
while (my $line = <$filehandle>)
{
next if ($seen{$line});
print $line;
$seen{$line} = 1;
}
如果($ $ {$ line});如果(exists $ seen {$ line});',則將'next'更改爲'next;否則邏輯錯誤值如空字符串或字符串「0 「將永遠不會被打印。 – 2011-05-25 21:59:39
@Consp條件是測試與*'$ line'關聯的值*是否爲true,並且'%seen'中的值將嚴格爲undef或1.也就是說,循環體可以被壓縮爲更加緊湊和習慣'print $行,除非$看見{$ line} ++;'。 – 2011-05-25 22:05:10
我的不好。不知何故,我只讀了循環的三行中的兩行,並假設你正在用字符串內容填充散列。即鍵/值存儲。 – 2011-05-26 08:59:39
- 1. 防止重複的行值
- 2. 防止添加重複值
- 3. postgresql外鍵約束,以防止重複
- 4. 如何防止array_push中的重複鍵
- 5. PowerShell的防止重複對象鍵
- 6. SQLite:防止重複
- 7. 防止重複碼
- 8. 防止重複(VB.NET)
- 9. 防止重複卡
- 10. 如何防止arraycollection中的重複值?
- 11. 防止重複值在ORACLE中插入
- 12. 防止數組選擇重複值
- 13. nvd3防止y軸上的重複值
- 14. 如何防止重複長右值
- 15. 訪問VBA /防止重複值
- 16. 防止重複值在選擇字段
- 17. 防止添加重複值html表
- 18. 防止數組接受重複值
- 19. 複製表中的所有行和防止重複鍵
- 20. SQLAlchemy,防止重複行
- 21. <rich:listShuttle> - 防止重複?
- 22. 防止列表框重複
- 23. 防止重複串JAVA
- 24. 防止重複使用jsessionid
- 25. 防止重複條目parse.com
- 26. Informix防止重複結果
- 27. 防止重複插入時
- 28. mySQL - 防止重複預訂
- 29. 防止重複UltiSnips匹配
- 30. 防止重複更新CFgrid
答案很好。你也可以考慮在輸入文件中使用'uniq'。 – Alex 2011-05-26 01:04:02