Hola Explorer, ahora ya lo tengo muchísimo más claro. Tu ejemplo me ha ayudado muchísimo, es más, ahora tan sólo debo completar tu desarrollo para que se realice sobre un directorio lleno de textos y almacenarlo todo en un fichero Excel.
Revisando tu código tengo una pregunta. ¿Cómo debo leer la sección DATA y las palabras en las secciones para que también considere ocurrencia aunque esté en mayúsculas y minúsculas? Es decir:
Alonso == alonso == ALONSO
Debe ser con lc en la siguiente línea, no?
Using perl Syntax Highlighting
61
chomp (my @keywords = lc(<DATA>)); Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Pero no sé si debo de ajustar alguna otra línea del código...
Otra cosa, he estado modificando el código para almacenar la salida en una matriz en formato Excel y no me funciona. Yo creo que está correcto, pero por más vueltas que le doy, no consigo localizar el error.
Os dejo el trozo de código que empleo para guardar en Excel:
Using perl Syntax Highlighting
foreach my $seccion ( 0 .. 4 ) {
# si existe en la sección el keyword
if ( exists $secciones[ $seccion ] { $keyword } ) {
# vemos las veces que aparece
$ocurrencias = $secciones[ $seccion ] { $keyword };
$sheet->Cells(1,2)->{Value
}="Sección 1";
$sheet->Cells(1,3)->{Value
}="Sección 2";
$sheet->Cells(1,4)->{Value
}="Sección 3";
$sheet->Cells(1,5)->{Value
}="Sección 4";
$sheet->Cells(1,6)->{Value
}="Sección 5";
if (! $fila { $keyword } ) {
$fila {$keyword}=$fila;
$sheet->Cells($fila,1)->{Value
} = "$keyword";
$fila++;
}
$sheet->Cells($fila{$keyword},$columna{$seccion+1})->{Value
} += "$ocurrencias";
print "$keyword - sección ", $seccion+1, ': ';
print $ocurrencias, ' ocurrencia';
if ( $ocurrencias != 1
) { print 's' }
print "\n";
}
}Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Y en éste enlace podeis ver TODO el código, no lo pongo aquí porque sino se queda muy largo del post.
http://rafb.net/p/3WnX5F82.htmlSaludos y muchas gracias!