Esta pregunta se ha realizado sobre PHP here y here, y tengo la misma pregunta para Perl. Dada una función que devuelve una lista, ¿hay alguna manera (o cuál es la mejor) de indexar inmediatamente sin usar una variable temporal?Indexación directamente en la matriz devuelta en Perl
Por ejemplo:
my $comma_separated = "a,b,c";
my $a = split (/,/, $comma_separated)[0]; #not valid syntax
veo la razón por la sintaxis en la segunda línea no es válida, por lo que estoy preguntando si hay una manera de conseguir el mismo efecto sin asignar primero el valor de retorno a una lista y indexación de eso.
Eso fue simple --- gracias. – Carl
Dado que en muchos casos los paréntesis son opcionales en función cals, normalmente escribiría esto como 'mi $ x = (división /,/=> $ str) [0]' –
@Carl, una forma en que podría pensar que es que para 'split (...)' los paréntesis solo direccionan la * llamada * -> a la que desea llamar dividir con estos argumentos. Alterar un '[0]' en eso tiene poco sentido. Sin embargo, '(división ...)' trata el valor * devuelto *, que es realmente lo que quiere indexar. – Axeman