2016-04-23 10 views

答えて

9

まず、あなたはあなたのスクリプトの先頭にuse strict;use warnings;を入れなければならない(と同様、すべての将来のPerlコードのためにそれを行います)。 %pricesハッシュと$pricesスカラー:

Global symbol "%prices" requires explicit package name at ./a.pl line 4. 
Global symbol "%prices" requires explicit package name at ./a.pl line 5. 
Global symbol "%prices" requires explicit package name at ./a.pl line 6. 
Global symbol "$prices" requires explicit package name at ./a.pl line 7. 
Execution of ./a.pl aborted due to compilation errors. 

は、それは何を意味することは、変数を区切るために使用しようとしたことである。そうしたら、次のように表示されます。 my %prices;を使用して変数宣言を固定した後

、次のようにあなたの%pricesハッシュへの参照を取得することができます:

my $prices_ref = \%prices; 
print ref($prices_ref); 
0

を正式な観点から、答えが短くなることがあります。

  1. REF($価格)は、$ prices値が別の変数への参照であった場合は1を返し、それ以外の場合はfalseを返します。
  2. ref($ prices)は宣言されていない変数$ pricesの最初の使用です(前の行は別の宣言されていない変数を参照します)。
  3. $ pricesの値はundefであり、ref($ prices)は空の文字列です。
  4. おそらく、あなたのアイデアが

    $prices->{'pizza'} = 12.00; $prices->{'coke'} = 1.25; $prices->{'sandwich'} = 3.00; print ref($prices);

を書くことでした
関連する問題