POD2-ES
view release on metacpan or search on metacpan
lib/POD2/ES/perlfunc.pod view on Meta::CPAN
106110621063106410651066106710681069107010711072107310741075107610771078107910801081=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
193219331934193519361937193819391940194119421943194419451946194719481949195019511952que 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
19581959196019611962196319641965196619671968196919701971197219731974197519761977
# 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.264 second using v1.01-cache-2.11-cpan-94b05bcf43c )