我使用 ActivePerl 脚本来获取 CSV 文件并创建加载到数据库中的 XML 文件。这些是用户 ID 数据库条目、姓名、地址等。我们一直使用家庭电话号码字段来生成初始密码(我们鼓励用户立即更改!)。手机的普及意味着我有一堆人没有家里的电话,所以我想在家里的电话字段为空的时候使用手机字段。
我的输入字段如下所示:
# 0 Firstname
# 1 Lastname
# 2 VP (voicepart)
# 3 Address
# 4 City
# 5 State
# 6 Zip
# 7 Phone
# 8 Mobile
# 9 Email
这是我为创建密码而编写的 Perl 代码 - 当字段 7 中有值时,create_password 子例程正在工作:
my $pass_word = '';
my $pass_word = create_password($fields[7]);
if (my $pass_word = '') {
print "Use the cell phone number \n";
my $pass_word = create_password($fields[8]);
}
“打印”声明是告诉我它认为它在做什么。
这在我看来应该可以工作,但是“if”语句永远不会触发。Print 语句不打印,只有字段 8 中的值的任何人都不会生成密码。我测试 $pass_word 值的方式一定有问题,但我看不到它。我应该测试 $fields[7] 和 $fields[8] 的值而不是变量值吗?如果这不起作用,你如何测试 Perl 变量的 null 值?