/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