""
および''
は空の文字列に評価されます。
スカラーコンテキストでは、()
はundef
と評価されます。慣習的には、()
の代わりにundef
を使用します。これがスカラーコンテキストで評価されることがわかっている場合です。
リストの文脈では、()
は何もしません。これは、式が期待されるプレースホルダとして使用されます。概念的には、空のリストと見なされます。
スカラーに割り当てると、その値がスカラーにコピーされます。
配列に割り当てるとき、配列の内容は割り当てられたスカラーで置き換えられます。
ハッシュに割り当てるとき、割り当てられるリストは、キーと値のペアのリストであると予想されます。ハッシュの内容は、割り当てられたキーと値のペアに置き換えられます。 ...そう、あなたの岩
my $scalarVar = ""; # Creates a scalar containing an empty string.
my $scalarVar = ''; # Creates a scalar containing an empty string.
my $scalarVar = undef; # Creates an undefined scalar. Uselessly noisy code.
my $scalarVar =(); # Creates an undefined scalar. Uselessly noisy and weird code.
my $scalarVar; # Creates an undefined scalar.
my @arrayVar = ""; # Creates an array containing one scalar (an empty string).
my @arrayVar = ''; # Creates an array containing one scalar (an empty string).
my @arrayVar = undef; # Creates an array containing one scalar (undefined).
my @arrayVar =(); # Creates an empty array. Uselessly noisy code.
my @arrayVar; # Creates an empty array.
my %hashVar = ""; # Warns. Makes no sense since a list of k-v pairs expected.
my %hashVar = ''; # Warns. Makes no sense since a list of k-v pairs expected.
my %hashVar = undef; # Warns twice. Makes no sense since a list of k-v pairs expected.
my %hashVar =(); # Creates an empty hash. Uselessly noisy code.
my %hashVar; # Creates an empty hash.
これはありがとうございました。 – ssr1012