#!/usr/bin/perl -w

use strict;

sub raya {
  print "\n#";
  print "=" x 78 . "#\n\n";
}

my $ln = 0; # longitud del texto, número de caracteres.
my $m = 0; # Número de palabras
my $n = 0; # Número de caracteres sin espacios 
my $nl = 0; # Número de lineas
my @palabras;
my $palabra = "";
my $linea = "";

system("clear");
raya;
print "\t Contar las palabras de un archivo \n\n";
print "\t Nombre del archivo: ";
my $nomf = <STDIN>;
chomp $nomf;
open(ARCHIVO, $nomf) or die "No se puede abrir $nomf: $!";
my @texto=<ARCHIVO>;
close(ARCHIVO);
 
foreach $linea (@texto) {
	
	$ln = $ln + length($linea);
	my @tempal = split(" ", $linea);# Separacion de palabras
	push(@palabras, @tempal);
	$nl++;
}

foreach $palabra (@palabras){ # contar las palabras y caracteres #
	
	$n = $n + length($palabra);
	$m++;
    	
}

raya; # Salida de la información
print "\t Resultados de contar el archivo: $nomf \n\n";
print "\t -----------------------------------------------------------\n\n";
print "\t Numero de lineas de texto: $nl\n";
print "\t Numero de caracteres(incluyendo espacios): $ln\n";
print "\t Numero de caracteres(sin espacios): $n\n";
print "\t Numero de palabras: $m\n";
raya;
print "\t Desea grabar el conjunto de palabras? (s/[n]): ";
my $resp = <STDIN>;
chomp $resp;
if ($resp eq "s") {
	open (ARCHIVO, ">/home/paco/basura/contarp.out") or die "Error: $!";
	foreach $palabra (@palabras) {print ARCHIVO $palabra . "\n";}
	close(ARCHIVO); 
	print "\n\t El fichero contarp.out ha sido creado \n\a";
}
raya;