Щоб ефективно користуватися Perl, важливо розуміти посилання. Оскільки посилання є скалярами, а масиви та словники можуть містити лише скаляри, саме посилання дають змогу вкладати ці структури даних одну в одну.
Посилання можна створювати на наявні змінні та підпрограми за допомогою оператора зворотного слеша \:
\$scalar, щоб створити посилання на скаляр (це може бути будь-який скаляр, наприклад \1, а не лише змінна).\@array, щоб створити посилання на масив.\%hash, щоб створити посилання на словник.\&sub, щоб створити посилання на код.Також можна створити так зване анонімне посилання для масивів, словників і підпрограм:
['Alice', 'Bob', 'Charlie'], щоб створити анонімне посилання на масив.{foo => 'a', bar => 'b', baz => 'c'}, щоб створити анонімне посилання на словник.sub { return 1 }, щоб створити анонімне посилання на код.УВАГА: у певних контекстах фігурні дужки в Perl можуть бути неоднозначними. Якщо посилання на словник виходить не таким, як ми очікували, додамо на початку знак плюс, щоб усунути неоднозначність, наприклад +{}. Додаткову інформацію див. у розділі Фігурні дужки.
До посилань можна дістатися за допомогою оператора стрілки ->:
$ref->[0], щоб дістатися до елемента всередині посилання на масив.$ref->{foo}, щоб дістатися до значення всередині посилання на словник.$ref->($arg), щоб викликати підпрограму через посилання на код.До даних усередині складних структур даних, як-от багатовимірні масиви та вкладені словники, можна дістатися, зчепивши індекси, наприклад $ref->{foo}[0]{bar} (те саме, що $ref->{foo}->[0]->{bar}).
Щоб розіменувати весь масив або словник, можна скористатися оператором стрілки, після якого стоять відповідно @* або %*, наприклад $ref->@* або $ref->%*.
Також можна отримати зрізи посилання на масив або словник, замінивши * на індекс, наприклад $ref->@[0..2] або $ref->@{'Foo', 'Bar'}.
Для зрізів тут так само змінюється сигіл, як і для змінних масиву та словника.