我使用ActivePerl腳本來接收CSV文件並創建加載到數據庫中的XML文件。這些是用戶數據庫條目,名稱,地址等。我們一直使用家庭電話號碼字段生成初始密碼(我們鼓勵用戶立即更改!)。手機的泛濫意味着我有一羣沒有家庭電話的人,所以我想在家庭電話領域爲空時使用手機領域。Perl「else」語句未執行
我輸入的字段是這樣的:
# 0 Firstname
# 1 Lastname
# 2 VP (voicepart)
# 3 Address
# 4 City
# 5 State
# 6 Zip
# 7 Phone
# 8 Mobile
# 9 Email
這裏的Perl代碼我工作以創建密碼 - 的create_password子程序工作時,有一個在外地值7:
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]);
}
「印刷」聲明是告訴我它在做什麼。
這看起來像我應該工作,但「如果」的說法永遠不會觸發。 Print語句不會打印,並且只有字段8中的值纔會生成密碼。我測試$ pass_word的值的方式肯定有問題,但我看不到它。我應該測試$ fields [7]和$ fields [8]的值而不是變量值嗎?如果這不起作用,你如何測試一個Perl變量爲空值?
謝謝 - 你們都是正確的,現在就可以工作。我做了徐丁的建議,並且工作。這就是當你經過很長時間後再次拿起Perl並忘記了一個基本的東西時會發生的事情:P我非常感謝幫助! – hedera