por explorer » 2018-08-02 15:29 @687
Se está probando el valor de $items.
Si es un valor falso (indefinido, valor 0, la cadena vacía, una lista vacía), entonces devolvemos un referencia a un array anónimo.
Pero si contiene algo, es ese el valor que se devuelve.
El resultado queda dentro de la entrada 'items' de un hash.
Este tipo de operaciones las he visto mucho, por ejemplo, después de realizar una consulta a una base de datos: estamos comprobando si hemos obtenido el resultado de la consulta o, quizás, algo ha fallado (la conexión, la propia consulta, etc.). Tanto en un caso como en otro, 'items' dentro del hash contendrá una array anónimo con los contenidos de la consulta, o un array vacío si no se obtuvo ningún resultado o si ocurrió un fallo.
Esto ahorra líneas más tarde, ya que te vale con hacer un bucle for() para recorrer los registros. En caso de fallo, el array estará vacío, así que ni siquiera entrará en el bucle.
Ya ves... mi explicación tiene más de 100 palabras, pero la expresión Perl es mucho más concisa.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES