La función return() en Perl devuelve el valor al final de una subrutina, bloque o función do. El valor devuelto puede ser escalar, array o hash según el contexto seleccionado.
Sintaxis: valor de retorno
Devoluciones:
una lista en contexto escalar
Nota: si no se pasa ningún valor a la función de devolución, devuelve una lista vacía en el contexto de la lista, undef en el contexto escalar y nada en el contexto nulo.
Ejemplo 1:
#!/usr/bin/perl -w # Subroutine for Multiplication sub Mul($$) { my($a, $b ) = @_; my $c = $a * $b; # Return Value return($a, $b, $c); } # Calling in Scalar context $retval = Mul(25, 10); print ("Return value is $retval\n" ); # Calling in list context @retval = Mul(25, 10); print ("Return value is @retval\n" );
Producción:
Return value is 250 Return value is 25 10 250
Ejemplo 2:
#!/usr/bin/perl -w # Subroutine for Subtraction sub Sub($$) { my($a, $b ) = @_; my $c = $a - $b; # Return Value return($a, $b, $c); } # Calling in Scalar context $retval = Sub(25, 10); print ("Return value is $retval\n" ); # Calling in list context @retval = Sub(25, 10); print ("Return value is @retval\n" );
Producción:
Return value is 15 Return value is 25 10 15