A linguagem de programação Perl suporta um número de estruturas de dados , incluindo simples variável escalar e matrizes. Uma matriz denotada em Perl com o símbolo "@" é um conjunto de variáveis escalares . Em um script Perl muitas vezes você precisa para passar alguns dados para uma sub-rotina . Enquanto Perl permite que você passe diretamente dois ou mais argumentos que você inevitavelmente obter lixo , em vez de dados da matriz se um desses argumentos é uma matriz. Para contornar este problema, você tem que usar o mecanismo Perl de passagem de argumentos por referência. Instruções 
 1 
 Use uma barra invertida ( \\) para passar a matriz por referência. Por exemplo, 
 
 calcular (\\ R $ \\ @ data); 
 
 este comando passa a matriz "@ data" para a sub-rotina " calcular " por referência 
 . 2 
 Use uma variável Perl (e não um array) para obter a matriz na sub-rotina : 
 
 my ($ valor , $ dados ) = @ _ ; 
 
 a variável " $ dados "é uma referência para a matriz " @ data " 
 3 
 Trabalhar com a matriz na sub-rotina usando Perl dereferencing ; por exemplo, para imprimir cada elemento da matriz usar o laço". foreach : "
 
 foreach $ element ( @ $ dados ) { print $ 
 
 elemento; 
 
 } 
 
 o símbolo " @ " na frente da variável $ dados indicam que esta é a matriz.