【发布时间】:2015-07-02 06:13:39
【问题描述】:
我很难让这个简单的脚本在 Perl 中工作 我有两个哈希,它们的键类似于电子邮件地址。 我真的相信我的问题是解释“@”和“。”键中的符号
我已经验证了哈希键是正确的并且在测试数据中存在 所有的键都是小写的
当程序运行时,它会创建哈希值......
### $UPN here is "joesnuffy@apples.grumpy.com"
$AD_Master_List{$UPN}="$DN,$FN,$LN,$UPN,$Email,$JobTitle,$Dept";
### $UPN2 here is "joesnuffy@apples.grumpy.com"
$HTE_Master_List{$UPN2}="$EN,$RFN,$MI,$RLN,$RPT,$RDPT,$UPN,$EMAIL";}
##### The failing Code snippet is below
foreach $A (keys(%HTE_Master_List))
{
unless (exists ($AD_Master_List{$A}))
{print "$A is not present in Active Directory\n";}
}
并且检查匹配将不起作用.... 任何人都可能得到的任何帮助将不胜感激。
提前致谢
瑞克·克拉姆利奇
对不起..我只提供了一个sn-p..
我使用严格的警告。并且预定义了所有变量。
我打算上传整个代码块,但它有 250 行,我认为这有点过头了。
我的数据检查显示正确的“$UPN 的文字版本”,但匹配失败。
如前所述,我确信问题在于字符串中 @ 和句点的插值。
我非常感谢所有看过我的 sn-p 的人。
【问题讨论】:
-
它是如何失败的?你得到什么输出?
-
1) 你有
use strict和use warnings吗? 2)Data::Dumper告诉你%HTE_Master_List的内容是什么?