POD2-ES
view release on metacpan or search on metacpan
lib/POD2/ES/perlfunc.pod view on Meta::CPAN
=for Pod::Functions remove a trailing record separator from a string
Esta versión segura de L<C<chop>|/chop VARIABLE>, quita cualquier cadena
restante que corresponda al valor actual de L<C<$E<sol>>|perlvar/$E<sol>>
(también conocido como $INPUT_RECORD_SEPARATOR -separador de registros en
entrada- en el módulo L<C<English>|English>). Devuelve el número total de
caracteres eliminados de todos sus argumentos. Se utiliza a menudo para
eliminar el carácter de nueva lÃnea del final de un registro de entrada
cuando es importante que el registro al final le pueda faltar ese carácter. En
modo párrafo (C<$/ = ''>), elimina todos los caracteres de nueva lÃnea de la
cadena. En modo chupón (C<$/ = undef>) o en modo de registros de longitud fija
(L<C<$E<sol>>|perlvar/$E<sol>> es una referencia a un entero o algo parecido;
ver L<perlvar>), L<C<chomp>|/chomp VARIABLE> no elimina nada. Si se omite
VARIABLE, usa L<C<$_>|perlvar/$_>. Ejemplo:
while (<>) {
chomp; # evitar \n en el último campo
my @array = split(/:/);
# ...
}
lib/POD2/ES/perlop.pod view on Meta::CPAN
que coincida con el principio de la cadena. Tenga en cuenta también que,
actualmente, C<\G> está sólo adecuadamente soportada cuando se fija al
comienzo del patrón.
Ejemplos:
# contexto lista
($uno,$cinco,$quince) = (`uptime` =~ /(\d+\.\d+)/g);
# contexto escalar
local $/ = "";
while ($parrafo = <>) {
while ($parrafo =~ /\p{Ll}['")]*[.!?]+['")]*\s/g) {
$sentencias++;
}
}
say $sentencias;
Aquà hay otra forma de buscar sentencias en un párrafo:
my $sentencia_rx = qr{
lib/POD2/ES/perlop.pod view on Meta::CPAN
# espacio en blanco
(?<! \b [DMS]r ) # pero no es una abreviatura conocida
(?<! \b Mrs )
(?<! \b Sra )
(?<! \b St )
[.?!] # seguido por una sentencia
# terminada
(?= $ | \s ) # delante de un final-de-cadena
# o espacio en blanco
}sx;
local $/ = "";
while (my $parrafo = <>) {
say "NUEVO PÃRRAFO";
my $cuenta = 0;
while ($parrafo =~ /($sentencia_rx)/g) {
printf "\tnueva sentencia %d: <%s>\n", ++$cuenta, $1;
}
}
Aquà está cómo se usa C<m//gc> con C<\G>:
( run in 0.332 second using v1.01-cache-2.11-cpan-94b05bcf43c )