sub premierPassage { my $ligne;
my $compteur = 0;
my $poeme = undef;
my $nbMots;
my $lengthCumul;
while(<fREC>) {
chomp;
$ligne = $_;
my @Ligne = split(/\s+/,$ligne);
if($poeme) { $Recueil{$poeme}{"longueur_mot_moyenne"} = $lengthCumul / $nbMots;
}
$poeme = $1;
$compteur++;
$Recueil{$poeme}{"nombre_lignes"} = 0;
$nbMots = 0;
$lengthCumul = 0;
next;
}
my $nbMotsLigne = scalar(@Ligne);
if($nbMotsLigne == 0) { next;
} else { $nbMots += $nbMotsLigne;
}
$Recueil{$poeme}{"nombre_lignes"}++;
foreach my $mot (@Ligne) {
if(exists($Symboles{$mot})) { $nbMotsLigne--;
next;
} if(length($mot) == 1 && !exists($Symboles{$mot}) && !exists($Voyelles{$mot}) && !exists($Consonnes{$mot})) { $nbMotsLigne--;
next;
}
$mot = &nettoieMot($mot);
if(!exists($Mots{$mot})) { $Mots{$mot} = 1;
} else { $Mots{$mot}++;
}
$lengthCumul += length($mot);
}
} $Recueil{$poeme}{"longueur_mot_moyenne"} = $lengthCumul / $nbMots;
close fREC;
my $freqMax = 0;
my $motMax;
while((my $mot,my $freq) = each(%Mots)) { if($freq > $freqMax) { $motMax = $mot;
$freqMax = $freq;
} }
}
use strict;
print "\n\n\n\n";
open(fREAD,$ARGV[0]) || die;
while(<fREAD>) { my $ligne = $_;
my @Ligne = split(/[,|.|;
]/,$ligne);
foreach my $mot (@Ligne) { $mot =~ s/^ //;
print $mot . "\n";
if($ligne =~ m/$mot\s*,/) { sleep 1;
} else { sleep 2;
}
}
if(scalar(@Ligne) == 0) { print "\n";
}
print "\n";
} close fREAD;
print "\n\n\n\n";
function longLinenoise($myImage,$dimImage,$strength,$freq) { $indexWhite = imagecolorexact($myImage,255,255,255);
$indexBlack = imagecolorexact($myImage,0,0,0);
for($i = 0 ;
$i < $dimImage[0] ;
$i++) { for($j = 0 ;
$j < $dimImage[1] ;
$j++) { if(rand(1,$freq) >= 20) {
} else { $currColor = imagecolorat($myImage,$i,$j);
if(isCloseColor($myImage,$currColor,255,255,255,10)) continue;
$nb_lignes = rand(1,intval($strength/10));
$length = rand(intval($strength/5),$strength);
drawLignes($myImage,$dimImage,$currColor,$i,$j,$nb_lignes,$length);
} } } } function drawLignes($myImage,$dimImage,$color,$x,$y,$nb_lignes,$max_length) { for($i = 0 ;
$i < $nb_lignes ;
$i++) { $xmin = $x-$max_length;
if($xmin < 0) $xmin = 0;
$ymin = $y-$max_length;
if($ymin < 0) $ymin = 0;
$xmax = $x+$max_length;
if($xmax > $dimImage[0] - 1) $xmax = $dimImage[0] - 1;
$ymax = $y+$max_length;
if($ymax > $dimImage[1] - 1) $ymax = $dimImage[1] - 1;
$x2 = rand($xmin,$xmax);
$y2 = rand($ymin,$ymax);
while(sqrt(pow($x2-$x,2) + pow($y2-$y,2)) > $max_length) { $xmin = $x-$max_length;
if($xmin < 0) $xmin = 0;
$ymin = $y-$max_length;
if($ymin < 0) $ymin = 0;
$xmax = $x+$max_length;
if($xmax > $dimImage[0] - 1) $xmax = $dimImage[0] - 1;
$ymax = $y+$max_length;
if($ymax > $dimImage[1] - 1) $ymax = $dimImage[1] - 1;
$x2 = rand($xmin,$xmax);
$y2 = rand($ymin,$ymax);
} imageline($myImage,$x,$y,$x2,$y2,$color);
$x = $x2;
$y = $y2;
} } function invertnoise($myImage,$dimImage,$strength) { $indexBlack = imagecolorexact($myImage,0,0,0);
if($indexBlack == -1) $indexBlack = imagecolorclosest($myImage,0,0,0);
$indexWhite = imagecolorexact($myImage,255,255,255);
if($indexWhite == -1) $indexWhite = imagecolorclosest($myImage,255,255,255);
$currColor = imagecolorat($myImage,0,0);
for($i = 0 ;
$i < $dimImage[0] ;
$i++) { for($j = 0 ;
$j < $dimImage[1] ;
$j++) { if(rand(1,100) >= $strength) { } else { $currColor = imagecolorat($myImage,$i,$j);
if($currColor == $indexBlack) imagesetpixel($myImage,$i,$j,$indexWhite);
if($currColor == $indexWhite) imagesetpixel($myImage,$i,$j,$indexBlack);
} } } }
print "\n\nSpectromie...\n\n";
open fREC, "<$recueilFile" or die "Impossible d'ouvrir le recueil !\n";
my $specFile;
if($recueilFile =~ m/^(\S+)\.\w+$/) { $specFile = $1;
} else { $specFile = $recueilFile;
} $specFile .= "_spec.txt";
open fSPEC, ">$specFile" or die "Impossible de créer le fichier log !\n";
my %Poetivites;
my %SampledRecueil;
&spectromie;
close fREC;
close fSPEC;
print "\n\nPoedilation...\n\n";
my @choix = sort( {$a <=> $b or $a cmp $b} keys(%SampledRecueil));
my $num_choix = 1;
foreach my $choice (@choix) { print "[" . sprintf("%2s",$num_choix) . "] " . $choice . "\n";
$num_choix++;
} my $zeChoix = "non";
while (!($zeChoix =~ m/^\d+$/ && $zeChoix >= 1 && $zeChoix <= scalar(@choix))) { print "\nentrer le numero du poeme choisi pour la poedilation :\n";
$zeChoix = <STDIN>;
} chomp($zeChoix);
$zeChoix--;
my $poeme_choisi = $choix[$zeChoix];
my $total_mots = 0;
foreach (keys(%{$SampledRecueil{$poeme_choisi}})) { $total_mots += scalar @{$SampledRecueil{$poeme_choisi}{$_}{"mots"}};
} print "\npoedilation de \"" . $poeme_choisi . "\" (" . $total_mots . " mots)...\n";
my $degreP = "non";
while (!($degreP =~ m/^\d+$/ && $degreP >= 1)) { print "\nEntrer le degre de poedilation :\n";
$degreP = <STDIN>;
} chomp($degreP);
&poedilation($poeme_choisi,$degreP);
open fPOE, ">poetivites.txt" or die;
foreach my $poetivite (sort( {$a <=> $b} keys(%{$Poetivites{"recueil"}}))) { print fPOE $poetivite . "\t";
foreach my $mot (@{$Poetivites{"recueil"}{$poetivite}}) { print fPOE $mot . "\t";
} print fPOE "\n";
} close fPOE;
exit(0);
function longLinenoise($myImage,$dimImage,$strength,$freq) { $indexWhite = imagecolorexact($myImage,255,255,255);
$indexBlack = imagecolorexact($myImage,0,0,0);
for($i = 0 ;
$i < $dimImage[0] ;
$i++) { for($j = 0 ;
$j < $dimImage[1] ;
$j++) { if(rand(1,$freq) >= 20) {
} else { $currColor = imagecolorat($myImage,$i,$j);
if(isCloseColor($myImage,$currColor,255,255,255,10)) continue;
$nb_lignes = rand(1,intval($strength/10));
$length = rand(intval($strength/5),$strength);
drawLignes($myImage,$dimImage,$currColor,$i,$j,$nb_lignes,$length);
} } } } function drawLignes($myImage,$dimImage,$color,$x,$y,$nb_lignes,$max_length) { for($i = 0 ;
$i < $nb_lignes ;
$i++) { $xmin = $x-$max_length;
if($xmin < 0) $xmin = 0;
$ymin = $y-$max_length;
if($ymin < 0) $ymin = 0;
$xmax = $x+$max_length;
if($xmax > $dimImage[0] - 1) $xmax = $dimImage[0] - 1;
$ymax = $y+$max_length;
if($ymax > $dimImage[1] - 1) $ymax = $dimImage[1] - 1;
$x2 = rand($xmin,$xmax);
$y2 = rand($ymin,$ymax);
while(sqrt(pow($x2-$x,2) + pow($y2-$y,2)) > $max_length) { $xmin = $x-$max_length;
if($xmin < 0) $xmin = 0;
$ymin = $y-$max_length;
if($ymin < 0) $ymin = 0;
$xmax = $x+$max_length;
if($xmax > $dimImage[0] - 1) $xmax = $dimImage[0] - 1;
$ymax = $y+$max_length;
if($ymax > $dimImage[1] - 1) $ymax = $dimImage[1] - 1;
$x2 = rand($xmin,$xmax);
$y2 = rand($ymin,$ymax);
} imageline($myImage,$x,$y,$x2,$y2,$color);
$x = $x2;
$y = $y2;
} } function invertnoise($myImage,$dimImage,$strength) { $indexBlack = imagecolorexact($myImage,0,0,0);
if($indexBlack == -1) $indexBlack = imagecolorclosest($myImage,0,0,0);
$indexWhite = imagecolorexact($myImage,255,255,255);
if($indexWhite == -1) $indexWhite = imagecolorclosest($myImage,255,255,255);
$currColor = imagecolorat($myImage,0,0);
for($i = 0 ;
$i < $dimImage[0] ;
$i++) { for($j = 0 ;
$j < $dimImage[1] ;
$j++) { if(rand(1,100) >= $strength) { } else { $currColor = imagecolorat($myImage,$i,$j);
if($currColor == $indexBlack) imagesetpixel($myImage,$i,$j,$indexWhite);
if($currColor == $indexWhite) imagesetpixel($myImage,$i,$j,$indexBlack);
} } } }
sub premierPassage { my $ligne;
my $compteur = 0;
my $poeme = undef;
my $nbMots;
my $lengthCumul;
while(<fREC>) {
chomp;
$ligne = $_;
my @Ligne = split(/\s+/,$ligne);
if($poeme) { $Recueil{$poeme}{"longueur_mot_moyenne"} = $lengthCumul / $nbMots;
}
$poeme = $1;
$compteur++;
$Recueil{$poeme}{"nombre_lignes"} = 0;
$nbMots = 0;
$lengthCumul = 0;
next;
}
my $nbMotsLigne = scalar(@Ligne);
if($nbMotsLigne == 0) { next;
} else { $nbMots += $nbMotsLigne;
}
$Recueil{$poeme}{"nombre_lignes"}++;
foreach my $mot (@Ligne) {
if(exists($Symboles{$mot})) { $nbMotsLigne--;
next;
} if(length($mot) == 1 && !exists($Symboles{$mot}) && !exists($Voyelles{$mot}) && !exists($Consonnes{$mot})) { $nbMotsLigne--;
next;
}
$mot = &nettoieMot($mot);
if(!exists($Mots{$mot})) { $Mots{$mot} = 1;
} else { $Mots{$mot}++;
}
$lengthCumul += length($mot);
}
} $Recueil{$poeme}{"longueur_mot_moyenne"} = $lengthCumul / $nbMots;
close fREC;
my $freqMax = 0;
my $motMax;
while((my $mot,my $freq) = each(%Mots)) { if($freq > $freqMax) { $motMax = $mot;
$freqMax = $freq;
} }
}
print "\n\nSpectromie...\n\n";
open fREC, "<$recueilFile" or die "Impossible d'ouvrir le recueil !\n";
my $specFile;
if($recueilFile =~ m/^(\S+)\.\w+$/) { $specFile = $1;
} else { $specFile = $recueilFile;
} $specFile .= "_spec.txt";
open fSPEC, ">$specFile" or die "Impossible de créer le fichier log !\n";
my %Poetivites;
my %SampledRecueil;
&spectromie;
close fREC;
close fSPEC;
print "\n\nPoedilation...\n\n";
my @choix = sort( {$a <=> $b or $a cmp $b} keys(%SampledRecueil));
my $num_choix = 1;
foreach my $choice (@choix) { print "[" . sprintf("%2s",$num_choix) . "] " . $choice . "\n";
$num_choix++;
} my $zeChoix = "non";
while (!($zeChoix =~ m/^\d+$/ && $zeChoix >= 1 && $zeChoix <= scalar(@choix))) { print "\nentrer le numero du poeme choisi pour la poedilation :\n";
$zeChoix = <STDIN>;
} chomp($zeChoix);
$zeChoix--;
my $poeme_choisi = $choix[$zeChoix];
my $total_mots = 0;
foreach (keys(%{$SampledRecueil{$poeme_choisi}})) { $total_mots += scalar @{$SampledRecueil{$poeme_choisi}{$_}{"mots"}};
} print "\npoedilation de \"" . $poeme_choisi . "\" (" . $total_mots . " mots)...\n";
my $degreP = "non";
while (!($degreP =~ m/^\d+$/ && $degreP >= 1)) { print "\nEntrer le degre de poedilation :\n";
$degreP = <STDIN>;
} chomp($degreP);
&poedilation($poeme_choisi,$degreP);
open fPOE, ">poetivites.txt" or die;
foreach my $poetivite (sort( {$a <=> $b} keys(%{$Poetivites{"recueil"}}))) { print fPOE $poetivite . "\t";
foreach my $mot (@{$Poetivites{"recueil"}{$poetivite}}) { print fPOE $mot . "\t";
} print fPOE "\n";
} close fPOE;
exit(0);
sub premierPassage { my $ligne;
my $compteur = 0;
my $poeme = undef;
my $nbMots;
my $lengthCumul;
while(<fREC>) {
chomp;
$ligne = $_;
my @Ligne = split(/\s+/,$ligne);
if($poeme) { $Recueil{$poeme}{"longueur_mot_moyenne"} = $lengthCumul / $nbMots;
}
$poeme = $1;
$compteur++;
$Recueil{$poeme}{"nombre_lignes"} = 0;
$nbMots = 0;
$lengthCumul = 0;
next;
}
my $nbMotsLigne = scalar(@Ligne);
if($nbMotsLigne == 0) { next;
} else { $nbMots += $nbMotsLigne;
}
$Recueil{$poeme}{"nombre_lignes"}++;
foreach my $mot (@Ligne) {
if(exists($Symboles{$mot})) { $nbMotsLigne--;
next;
} if(length($mot) == 1 && !exists($Symboles{$mot}) && !exists($Voyelles{$mot}) && !exists($Consonnes{$mot})) { $nbMotsLigne--;
next;
}
$mot = &nettoieMot($mot);
if(!exists($Mots{$mot})) { $Mots{$mot} = 1;
} else { $Mots{$mot}++;
}
$lengthCumul += length($mot);
}
} $Recueil{$poeme}{"longueur_mot_moyenne"} = $lengthCumul / $nbMots;
close fREC;
my $freqMax = 0;
my $motMax;
while((my $mot,my $freq) = each(%Mots)) { if($freq > $freqMax) { $motMax = $mot;
$freqMax = $freq;
} }
}