2015-06-19 66 views
0

我已經通過子程序做印刷哈希鍵/值對一個簡單的Perl腳本經過散列子程序

#!/usr/local/bin/perl 

#passing hash to a subroutine 

sub printhash{ 

      my (%hash) = @_; 

      foreach my $key (keys %hash){ 

        my $value = $hash{$key}; 

        print "$key : $value\n "; 

      } 

} 

%hash = {'name' => 'devendra', 'age' => 21}; 

printhash(%hash); 

預期輸出:

名:德文德拉

年齡:21

輸出:

HASH(0x1be0e78):

它有什麼問題?

回答

5

此行

%hash = {'name' => 'devendra', 'age' => 21}; 

試圖分配一個匿名散列參考散列。你真正的意思是

%hash = ('name' => 'devendra', 'age' => 21); 

如果你有use strictuse warnings你會看到消息

參考發現,甚至大小列表預期

cluing你的問題。始終使用它們!

+0

值得一提的是,作爲一個optiom – Sobrique