La opción /x

La opción /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
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19