La opción /s

La opción /s hace que . se empareje con un \n. Esto es, casa con cualquier carácter.

Veamos otro ejemplo, que imprime los nombres de los ficheros que contienen cadenas que casan con un patrón dado, incluso si este aparece disperso en varias líneas:

   1 #!/usr/bin/perl -w
   2 #use: 
   3 #smodifier.pl 'expr' files
   4 #prints the names of the files that match with the give expr
   5 undef $/; # input record separator
   6 my $what = shift @ARGV;
   7 while(my $file = shift @ARGV) {
   8   open(FILE, "<$file");
   9   $line =  <FILE>;
  10   if ($line =~ /$what/s) {
  11     print "$file\n";
  12   }
  13 }

Ejemplo de uso:

> smodifier.pl 'three.*three' double.in split.pl doublee.pl
double.in
doublee.pl

Vea la sección 3.20 para ver los contenidos del fichero double.in. En dicho fichero, el patrón three.*three aparece repartido entre varias líneas.

Casiano Rodríguez León
2010-03-03
www.etsii.ull.es/">etsiiull
Siguiente: La Función join Subir: Operadores de Listas Anterior: El operador map   Índice de Materias
Lenguajes y Herramientas de Programacion 2011-02-10
OTTOM" BORDER="0" SRC="etsii.png" ALT="etsii">ull
Sig: La Función join Sup: Operadores de Listas Ant: El operador map
Casiano Rodríguez León
2011-02-17
2-18 B> Sig: La Función join Sup: Operadores de Listas Ant: El operador map
Casiano Rodríguez León
2011-02-23
BR> Sig: La Función join Sup: Operadores de Listas Ant: El operador map
Casiano Rodríguez León
2011-02-24