Yo creo que para eso se puede usar cualquiera de los foros actuales (Básico, Intermedio, Experto y Módulos), colocando tu propia experiencia personal en aquel de los cuatro en el que crees que más encaja.
Yo mismo, hace poco, en el foro Módulos, comenté sobre el módulo XML::Bare.
En cuanto al carácter maldito, se trata del carácter 'avance de línea', así que hay que indicarlo de una manera especial en el código fuente.
Con el siguiente código
Using perl Syntax Highlighting
perl -le '$x = 0x0a; print "[$x]"; if ( $x =~ /\s/ ) { print "SI" }; print ord substr($x,-1,1); chomp $x; print length $x'
la salida es
Código:
[10]
48
2
Se ve que en
$x estamos guardando el valor 10, que, pasado a cadena de caracteres, son dos dígitos ('1' y '0'). Numéricamente, es 10, pero no es un único carácter que de forma binaria vale 10. En lenguaje C sí que se definiría así, pero en Perl, si guardamos un 10 en una variable, es justo eso lo que obtenemos.
En cambio, si ponemos
Using perl Syntax Highlighting
perl -le '$x = chr 0x0a; print "[$x]"; if ( $x =~ /\s/ ) { print "SI" }; print ord substr($x,-1,1); chomp $x; print length $x'
la salida es
Código:
[
]
SI
10
0
En este caso, sí que estamos guardando en $x un único carácter de valor decimal 10. Vamos, el carácter 'avance de línea'. Y por lo tanto, sí que es detectado por la expresión regular como un carácter de clase 'espacio'. Y por lo tanto puede ser eliminado con un simple chomp() (ya que está al final de la cadena de caracteres).