#! /usr/bin/perl -w

use Getopt::Long;
use strict;

#================================================================
# cde
# segmentation-mot.pl -file lesdiabetiques.txt > lesdiabetiques.seg
#================================================================
sub usage {
    warn "Usage :
   -file      #
   \n"
}

#================================================================
# traitement des options

my $file = "";

#================================================================
unless (&GetOptions(
	     "file=s", \$file,
	)) 
{
    warn "Problème d'options\n";
    &usage;
    die;
}

#================================================================
# variables globales

#================================================================

# une fonction
sub ReadFile {
    # récupérer le nom du fichier
    my $f = $_[0];
    # créer un handle qui permet d'ouvrir le fichier
    open (FILE, $f) || die "no such file '$f'\n";
    # ouverture du fichier avec le handle
    while (<FILE>) {
	# dans ce contexte, la variable par defaut $_ 
	# contient la ligne courante du fichier
	# on crée une variable dédiée $l qui contient une ligne
	my $l = $_;
	# on enleve le dernier caractère (saut à la ligne)
	chop($l);
	# on sépare la ponctuation des mots
	$l =~ s/([[:punct:]])/ $1 /g;
	# on segmente la ligne les mots
	#  et on les met dans un tableau
	my @tokens = split(/\s+/, $l);
	# pour chaque element (mot) du tableau
	foreach my $w (@tokens) {
	    # on teste que cet element contient qqch
	    if ($w =~ /^$/) {}
	    else {
		# et on imprime un mot par ligne
		print "$w\n";
	    }
	}
    }
}

sub main {
    # appel de la fonction
    &ReadFile($file);
}

# appel de la fonction principale
&main;
