Interpolación en los patrones

El patrón regular puede contener variables, que serán interpoladas (en tal caso, el patrón será recompilado). Si quieres que dicho patrón se compile una sóla vez, usa la opción /o.
   1 #!/usr/bin/perl -w
   2 my $what = shift @ARGV;
   3 while (<>) {
   4   if (/$what/o) { # compile only once
   5     print ;
   6   }
   7 }
Sigue un ejemplo de ejecución:
> mygrep.pl '\bif\b' *.pl
if ($input !~ m/^([-+]?[0-9]+(\.[0-9]*)?)\s*([CF])$/i) {
  if ($type eq "C" or $type eq "c") {
  push(@fields, undef) if $text =~ m/,$/;
  next if !s{
  next if !s/\b([a-z]+)((\s|<[^>]+>)+)(\1\b)/\e[7m$1\e[m$2\e[7m$4\e[m/ig;
  if (/$what/) {

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