سؤال

أنا جديد على بيرل وأنا فضولي سواء @{$list_ref} و @$list_ref تعادل تماما.

يبدو أنهم قابلين للتبادل، لكنني عصبي أن هناك شيئا دقيقا قد أكون في عداد المفقودين.

هل كانت مفيدة؟

المحلول

نعم، إنها مكافئة. تحتاج إلى الأقواس عند التعبير أكثر من متغير العددية البسيطة، على سبيل المثال,

push @{ $foo{$bar} } => "baz";

لمزيد من التفاصيل، انظر باستخدام المراجع قسم من وثائق حول المراجع. وبعد تتضمن وثائق بيرل القياسية أيضا العديد من البرامج التعليمية على استخدام المراجع:

نصائح أخرى

لقد وجدت دائما أنه من المفيد أن تتذكر أن الأقواس الخارجية ليست سحرية نصنية، فهي مجرد كتلة تعرض مرجعا. يمكن أن يكون التعبير داخل الكتلة أي شيء يرجع مرجعا:

$ perl -le 'sub foo {[qw/ apple orange banana /]} print ${print "Do something here."; foo()} [1]'
Do something here.
orange
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top