while(<@thisArray>)
¿Alguien sabe lo que haría exactamente? Estábamos teniendo una discusión sobre el mismo, ya que es el código suele ser algo como:while (<@array>) efectos para perl
while(<STDIN>)
while(<@thisArray>)
¿Alguien sabe lo que haría exactamente? Estábamos teniendo una discusión sobre el mismo, ya que es el código suele ser algo como:while (<@array>) efectos para perl
while(<STDIN>)
<@thisArray>
obras como glob(@thisArray)
. Por lo tanto, proporciona una lista de todos los archivos que coinciden con los miembros de la matriz.
Si un elemento de la matriz no coincide con un archivo, se devuelve el elemento en sí.
Se iterará a través de nombres de archivos que coincidan con los patrones en @thisArray
.
Resultado de perl -MO=Deparse -e '1 while(<@thisArray>)'
muestra que <>
se convierte en glob
:
use File::Glob();
'???' while defined($_ = glob(join($", @thisArray)));
De glob
Manual:
En contexto escalar, itera glob a través de tales expansiones nombre de archivo, volviendo undef cuando la lista se agota .
valor predeterminado para $"
es el espacio, por lo tanto, múltiples patrones de @thisArray
se unirán en una sola cadena y luego estar de todas formas vuelta por el espacio interior glob
:
Tenga en cuenta que pegote divide sus argumentos en los espacios en blanco y trata a cada uno segmento como patrón separado.
Muchas gracias. Lo estaba usando para contar, así que el recuento habría estado muy lejos. – Psyllex
Se supone que no debe hacer nada, ya que '@ array' no es un nombre de identificador de archivo, es el nombre de una matriz. – SexyBeast