このサブルーチンが Perl で何をするのか疑問に思っていました。私は一般的な考えを持っていると信じていますが、いくつかの構文について疑問に思っています。
sub _init
{
my $self = shift;
if (@_) {
my %extra = @_;
@$self{keys %extra} = values %extra;
}
}
基本的に、変数 $self によって参照される名前のないハッシュに「余分な」キーと値のペアを追加します。また、これについて100%確信があるわけではありませんが、実際にはサブルーチンを呼び出しmy $self = shift
た変数を参照していると思います。$self
_init()
私の具体的な質問は次のとおりです。
- $self は実際にサブルーチンを呼び出した変数を参照しています
_init()
か? @$
書くときの構文の意味は何ですか@$self{keys %extra} = values %extra;