Listas y ExpReg

Si se utiliza en un contexto que requiere una lista, el ``pattern match'' retorna una lista consistente en las subexpresiones casadas mediante los paréntesis, esto es $1, $2, $3, .... Si no hubiera emparejamiento se retorna la lista vacía. Si lo hubiera pero no hubieran paréntesis se retorna la lista (1).

   1 #!/usr/bin/perl -w
   2 $foo = "one two three four five";
   3 ($F1, $F2, $Etc) = ($foo =~ /^\s*(\S+)\s+(\S+)\s*(.*)/);
   4 print "List Context: F1 = $F1, F2 = $F2, Etc = $Etc\n";
   5 # This is equivalent to:
   6 ($F1, $F2, $Etc) = split(' ',$foo,3);
   7 print "Split: F1 = $F1, F2 = $F2, Etc = $Etc\n";
Observa el resultado de la ejecución:
> escapes.pl
List Context: F1 = one, F2 = two, Etc = three four five
Split: F1 = one, F2 = two, Etc = three four five

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