Buenos días,
A ver, tengo un fichero con un texto en una variable y necesito pasarlo al formato de una palabra por línea. Concretamente, necesito cada palabra y cada signo de puntuación en una línea distinta,
alguna ayudita? gracias de antemano!
# Bucle por todo(g) el texto,
# recolectando conjuntos de palabras (\w+) y no palabras (\w+)
while ( $txt =~ /(\w+|\W+)/g ) {
chomp $1; # Quitamos los retornos de carro
print "$1\n" # Pintamos el conjunto
unless $1 =~ /\s+/; # siempre y cuando no sea espacio en blanco
}
sub tractarCorpus
{
print "entro a tractarCorpus\n";
# Bucle por todo(g) el texto,
# recolectando conjuntos de palabras (\w+) y no palabras (\w+)
while ( $corpus =~ /(\w+|\W+)/g )
{
chomp $1; # Quitamos los retornos de carro
print "$1\n" # Pintamos el conjunto
unless $1 =~ /\s+/; # siempre y cuando no sea espacio en blanco
}
}
sub openFile
{
open my $file, '<', "entrada.txt" or die("No se pudo abrir archivo");
$corpus = do
{ local $/; <$file>
};
close $file;
}
$nomentrada ="entrada.txt"
&openFile($nomentrada);
#print "el corpus es $corpus\n";
&tractarCorpus($corpus);
sub tractarCorpus
{
print "entro a tractarCorpus\n";
# Bucle por todo(g) el texto,
# recolectando conjuntos de palabras (\w+) y no palabras (\w+)
while ( $corpus =~ /(\w+|\W+)/g )
{
my $valor = $1; #Recolectamos inmediatamante $1
chomp $valor; # Quitamos los retornos de carro
next if $valor =~ /\s+/; # siempre y cuando no sea espacio en blanco
print "$valor\n"; # Pintamos el conjunto
}
}
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados