¿Es mal 'shift' para procesar parámetros de subrutina Perl?

Estoy usando frecuentementeshift para descomprimir los parámetros de la función:

sub my_sub {
    my $self = shift;
    my $params = shift;
    ....
}

Sin embargo, muchos de mis colegas están predicando queshift es en realidad el mal ¿Podría explicar por qué debería preferir?

sub my_sub {
    my ($self, $params) = @_;
    ....
}

ashift?

Respuestas a la pregunta(8)

Su respuesta a la pregunta