perl防止键值重复

问题描述

| 我正在逐行遍历一个文件,它具有键-值对,然后将其输出到xml。如何检查以确保尚未输出此键/值对? 在C#中,我将通过插入字典然后仅使用.Contains()来轻松做到这一点,在Perl中有任何提示吗?     

解决方法

Perl具有用于哈希元素的the0ѭ和
exists
关键字。
$hash{\'foo\'} = \'bar\';
print defined $hash{\'foo\'};      #  prints 1
print exists $hash{\'foo\'};       #  prints 1
对于大多数目的,它们执行相同的操作。一个细微的区别是,当哈希值是特殊的\“ undefined \”值时:
$hash{\'baz\'} = undef;
print defined $hash{\'baz\'};      # doesn\'t print 1
print exists $hash{\'baz\'};       # prints 1
    ,您可以使用perl哈希执行相同的操作。
my %seen;
while (my $line = <$filehandle>)
{
  next if ($seen{$line});
  print $line;
  $seen{$line} = 1;
}
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...