Otra forma de llamar una subrutina es usar &
pero sin lista de argumentos.
En tal caso, los contenidos actuales del array
especial @_ se pasan
como argumentos a la subrutina.
Ejemplo:
sub checked_inverse { die "can't invert 0" if $_[0] == 0; my $inv = &inverse; # llama a &inverse con los argumentos actuales die "inversion failed" unless $inv*$_[0] == 1; return $inv; }Observe que esto significa que hay una importante diferencia entre:
&checked_inverse # significa checked_inverse(@_);y
checked_inverse; # significa checked_inverse();
Casiano Rodríguez León