HTML
.
1 #!/usr/bin/perl -w 2 # one <a>one</a> 3 # is two three 4 # three 5 $/ = ".\n"; 6 while (<>) { 7 next if !s{ 8 \b # start word ... 9 ([a-z]+) # grab word in $1 and \1 10 ( # save the tags and spaces in $2 11 (\s|<[^>]+>)+ # spaces or HTML tags 12 ) 13 (\1\b) # repeated word in $4 14 } 15 "\e[7m$1\e[m$2\e[7m$4\e[m"igx; 16 s/^([^\e]*\n)+//mg; # remove lines that don't contain escapes 17 s/^/$ARGV: /mg; # insert filename at the beginning of the lines 18 print; 19 }
Normalmente el carácter ^
casa solamente con el comienzo de la cadena y el carácter $
con el final. Los \n
empotrados no casan
con ^
ni $
. El modificador /m
modifica esta conducta. De este modo ^
y $
casan con cualquier frontera de línea interna. Las anclas \A
y \Z
se utilizan entonces para casar con
el comienzo y final de la cadena.
Sigue un ejemplo de uso:
Casiano Rodríguez León