Using perl Syntax Highlighting
#lin 27
( my $in = <STDIN> ) =~ s/^\s+|\s+$//g;
#=~ s/^\s+|\s+$//gColoreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Es el operador sustitución. Se buscan todos (
g) los conjuntos de espacios (
\s+) que están al principio (
^) o (
|) al final (
$) de la cadena. Y esos conjuntos se sustituyen por nada (
//). El efecto final es quitar los espacios en blanco que están delante y detrás de la cadena.
Más información en
perldoc -f s, en
perlop, en la sección
Regexp Quote Like Operators (
traducido).
Using perl Syntax Highlighting
#28
grepColoreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Es la función de "filtrado". Dada una lista de valores en la parte derecha, es filtrada hacia la parte izquierda, según lo indique la condicional.
Más información en tu propio ordenador en
perldoc -f grep, en
perlfunc,
y en la Web (
traducido).
Using perl Syntax Highlighting
#103
if ( grep $in eq $_, 1
.. $w and $board[0
][ --$in ] eq " " )
#eq $_Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Es el operador de comparación de igualdad entre cadenas de caracteres. Está comparando el valor contenido en $in con el valor contenido en $_;
Más información en tu propio ordenador en
perldoc perlop, en la sección Operadores de igualdad (
Equality Operators)
y en la Web (
traducido).
Using perl Syntax Highlighting
#125
select undef, undef, undef, 0.04;
#undefColoreado en 0.001 segundos, usando
GeSHi 1.0.8.4
select() sirve para muchas cosas, pero en la línea que pones, es que Perl solicite una espera de 40 milisegundos al sistema operativo.
Más información en tu propio ordenador en
perldoc -f select,
y en la Web (
traducido).
Using perl Syntax Highlighting
#143
while ( ( $x -= $xdir * $_ ) >= 0
# -= Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
$x -= $xdir * $_;es equivalente a
$x = $x - ($xdir * $_);Más información en
perlop, en la sección de operadores de asignación.
Using perl Syntax Highlighting
#166
if ( not grep $_ eq " ", map @$_, @board )
#map @$_Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
La función map{} "mapea" la lista de elementos que hay a la derecha hacia la izquierda, según lo que indique el primer argumento.
En este caso, está leyendo los elementos de
@board, pasando uno por uno a través de
$_, y como la expresión de map() es
@$_ quiere decir que
$_ es una referencia a un
array, así que
@$_ devuelve todos los elementos apuntados por
$_ (el efecto final es recorrer una matriz de dos dimensiones, elemento a elemento). Cada elemento es pasado a grep(), en un nuevo
$_, que pregunta si cada celda es igual a " ". Si no (not) es así, el if() se activa.
El resultado final es que el if() se dispara si hay al menos una celda en la matriz que es distinta de " ".
El código está demasiado comprimido. Si es tu primer proyecto, todo esto te estará liando demasiado.