2014-07-18 66 views
0

有人可以解釋如何正確引用數組@name和@numbers。目前,我收到的警告稱使用@names - > [$ count]已被棄用。我環顧四周,人們說要做$ names - > [$ count],但是當我這樣做時,它說$ names/$ numbers不存在。給出數組引用錯誤的Perl

my $ldap = Lib::Phonebook->new(); 

my (@names, @numbers, $count, $name_number_count); 

    @names    = $ldap->list_telephone_account_names(); 

    @numbers   = $ldap->list_telephone_account_numbers(); 

    $name_number_count = @names; 

    $count = 0; 

    for $count (0 .. $name_number_count) { 
     print @names->[$count] . " -> " . @numbers->[$count] . "\n"; 
    } 

回答

2

@names是一個數組,所以訪問您將使用$names[$index]的元素。

此外,從0 .. $name_number_count迭代將帶你到數組的末尾。您希望0到「@names中的最後一個元素索引」,這將是@names - 1$#names。所以:

for my $count (0 .. $#names) { 
+0

非常感謝!只是注意到我現在正在得到這個:'在串聯(。)中使用@names中的未初始化的值'這是因爲使用這個或不相關的東西嗎?剛剛看過您的編輯,非常感謝您對它進行了排序 – user3778934