/x permite utilizar comentarios y
espacios dentro de la expresión
regular. Los espacios dentro de la expresión regular dejan de ser significativos.
Si quieres conseguir un espacio que sea significativo, usa \s o
bien escápalo.
El siguiente ejemplo elimina los comentarios de un programa C.
1 #!/usr/bin/perl -w
2 $progname = shift @ARGV;
3 open(PROGRAM,"<$progname") || die "can't find $progname";
4 undef($/);
5 $program = <PROGRAM>;
6 $program =~ s{
7 /\* # Match the opening delimiter
8 .*? # Match a minimal number of characters
9 \*/ # Match the closing delimiter
10 }[]gsx;
11 print $program;
Veamos un ejemplo de ejecución:
> cat hello.c
#include <stdio.h>
/* first
comment
*/
main() {
printf("hello world!\n"); /* second comment */
}
> comments.pl hello.c
#include <stdio.h>
main() {
printf("hello world!\n");
}
Casiano Rodríguez León
