我正逐行循环一个文件,它有键 - >值对,然后输出到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