El siguiente ejemplo ilustra esto: usar estricta; print "Content-Type: text /html \\ n \\ n"; mi $ num1 = 4; mi $ num2 = 5; sub mySub {my $ sum = $ _ [0] + $ _ [1]; mi $ cuadrado = $ suma * $ suma; devolver $ cuadrado; } Mi $ resultado = mySub ($ num1, $ num2); print $ resultado; Leer y probar el código anterior (la explicación a continuación). Esta vez las variables han sido declarados y asignados fuera de la subrutina. Algunos otra subrutina en otra parte en el código realmente puede cambiar estos valores.
Sin embargo, una subrutina no puede cambiar el valor de una variable dentro de alguna otra subrutina (todo permanece igual). En el penúltimo de un comunicado, en el que se llama a la subrutina; los paréntesis tienen dos variables. Estas variables en esta posición se llaman argumentos. Estos argumentos de la subrutina son las variables declaradas fuera de la subrutina. Los argumentos de una llamada a subrutina, pueden ser literales, algo así como: my $ resultado = mySub (4, 5); Cualquier bloque de definición de subrutina, tiene una matriz llamada,_.
El nombre de la matriz es _; es precedida por @, ya que es una matriz. Este arreglo no es visto por que el programador, pero usted puede utilizarlo. Tan pronto como se inicia la ejecución de la subrutina (bloque), los argumentos enviados a la subrutina se convierten en los elementos de esta matriz, en el orden enviado. En el código anterior, el argumento, $ num1 que es 4, se convierte en el valor de $ _ [0]. El otro argumento, $ num2, que es 5 se convierte en el valor de $ _ [1]. Esto explica la primera declaración en el bloque de rutina sub arriba. Lea el código de nuevo.
La función de impresión predefinidas Hemos estado utilizando la función de impresión, pasando sólo un argumento cada vez que lo llamamos. En realidad puede pasar más de un argumento. Separe los argumentos con una coma como en el siguiente código: use strict; print "Content-Type: text /html \\ n \\ n"; print ("uno", "Prueba el código de seguridad. En realidad, hay cinco argumentos en la lista. Cada uno de los argumentos es un literal. No hay que olvidar que los paréntesis son opcionales para la