Alguns sub-rotinas apenas executar uma tarefa e não retorna nada. Chamar uma subrotina Você chamar uma sub-rotina apenas digitando o nome da sub-rotina, opcionalmente seguido por parênteses, em um comunicado. O código a seguir ilustra isso. Leia e experimentá-lo: use strict; print "Content-Type: text /html \\ n \\ n"; sub mySub {my $ num1 = 2; my $ num2 = 3; my $ sum = $ num1 + num2 $; my $ quadrado = $ * $ soma soma; return $ quadrado; } My $ result = mySub (); print $ result; Este código é semelhante à anterior, com a adição dos dois últimos comandos.
O último-mas-uma declaração chama a sub-rotina. Esta chamada declaração está fora da sub-rotina. O operando direito da instrução é "mySub ()". É esta expressão que chama a sub-rotina. Quando ele chama a sub-rotina, ele recebe o valor devolvido pela instrução de retorno na sub-rotina. Esse valor agora é atribuído à variável, $ resultado. A última declaração exibe o resultado. Uma chamada de sub-rotina nem sempre tem que atribuir um valor de retorno a uma variável.
Sub-rotinas que não têm valores de retorno são chamados apenas digitando o nome, seguido de parênteses (ponto e vírgula em seguida, para formar uma declaração). O último-mas-uma declaração no código é: my $ result = mySub (); mySub () é a chamada de função. Em ActivePerl, os parênteses são opcionais. Você pode chamar uma função sem digitar os parênteses. No entanto, é boa prática para digitá-los, pois isso é exigido em outros idiomas; um programador sabe mais do que uma linguagem de computador. Além disso, você pode ter espaço entre o nome da função e os parênteses; o espaço é opcional.
Parâmetros e Argumentos Agora, na sub-rotina acima, só pode lidar com dois números particulares, que são 2 e 3. Isto é uma desvantagem. Se nós declaramos (criar) e atribuir as variáveis de fora da sub-rotina, então podemos sempre mudar os valores das variáveis, em seguida, enviar as variáveis para a sub-rotina antes de a sub-rotin