diff --git a/PERL_Language/wc.pl b/PERL_Language/wc.pl
deleted file mode 100755
index 50a28bd..0000000
--- a/PERL_Language/wc.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/perl -w
-
-# This script displays the number of lines in a file
-
-use strict;
-
-die "un argument svp ! " if !defined ($ARGV[0]);
-
-my $i=0;
-open(P,"< $ARGV[0]") || die "erreur ouverture $!";
-
-while (<P>)
-{
-	$i++;
-}
-close(P);
-print "nb de lignes = $i \n";
diff --git a/bash/add-torrents b/bash/add-torrents
new file mode 100755
index 0000000..6280027
--- /dev/null
+++ b/bash/add-torrents
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+dir=~/Téléchargements/
+torrentsdir=~/torrents/
+server=server
+
+find $dir -name "*.torrent" -exec transmission-remote-cli -a "{}" && mv "{}" $torrentsdir \;
+rsync -av $torrentsdir $server:$torrentsdir
+#ssh $server $(< add-torrents-remote)
diff --git a/C_Language/apres.c b/c/apres.c
similarity index 100%
rename from C_Language/apres.c
rename to c/apres.c
diff --git a/C_Language/cd.c b/c/cd.c
similarity index 100%
rename from C_Language/cd.c
rename to c/cd.c
diff --git a/C_Language/chrono.c b/c/chrono.c
similarity index 100%
rename from C_Language/chrono.c
rename to c/chrono.c
diff --git a/C_Language/cronbis.c b/c/cronbis.c
similarity index 100%
rename from C_Language/cronbis.c
rename to c/cronbis.c
diff --git a/C_Language/eko.c b/c/eko.c
similarity index 100%
rename from C_Language/eko.c
rename to c/eko.c
diff --git a/C_Language/eko2.c b/c/eko2.c
similarity index 100%
rename from C_Language/eko2.c
rename to c/eko2.c
diff --git a/C_Language/exoPointeurs.c b/c/exoPointeurs.c
similarity index 100%
rename from C_Language/exoPointeurs.c
rename to c/exoPointeurs.c
diff --git a/C_Language/function.c b/c/function.c
similarity index 100%
rename from C_Language/function.c
rename to c/function.c
diff --git a/C_Language/lirecharl.c b/c/lirecharl.c
similarity index 100%
rename from C_Language/lirecharl.c
rename to c/lirecharl.c
diff --git a/C_Language/matrice1.c b/c/matrice1.c
similarity index 100%
rename from C_Language/matrice1.c
rename to c/matrice1.c
diff --git a/C_Language/matrice2.c b/c/matrice2.c
similarity index 100%
rename from C_Language/matrice2.c
rename to c/matrice2.c
diff --git a/C_Language/mini_shell.c b/c/mini_shell.c
similarity index 100%
rename from C_Language/mini_shell.c
rename to c/mini_shell.c
diff --git a/C_Language/minmax.c b/c/minmax.c
similarity index 100%
rename from C_Language/minmax.c
rename to c/minmax.c
diff --git a/C_Language/minuscule.c b/c/minuscule.c
similarity index 100%
rename from C_Language/minuscule.c
rename to c/minuscule.c
diff --git a/C_Language/miroir.c b/c/miroir.c
similarity index 100%
rename from C_Language/miroir.c
rename to c/miroir.c
diff --git a/C_Language/monswap.c b/c/monswap.c
similarity index 100%
rename from C_Language/monswap.c
rename to c/monswap.c
diff --git a/C_Language/multiChrono.c b/c/multiChrono.c
similarity index 100%
rename from C_Language/multiChrono.c
rename to c/multiChrono.c
diff --git a/C_Language/palindrome.c b/c/palindrome.c
similarity index 100%
rename from C_Language/palindrome.c
rename to c/palindrome.c
diff --git a/C_Language/printenv.c b/c/printenv.c
similarity index 100%
rename from C_Language/printenv.c
rename to c/printenv.c
diff --git a/C_Language/semaphores_manuel_exemples/Exemple_curses/essaiCurses b/c/semaphores_manuel_exemples/Exemple_curses/essaiCurses
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemple_curses/essaiCurses
rename to c/semaphores_manuel_exemples/Exemple_curses/essaiCurses
diff --git a/C_Language/semaphores_manuel_exemples/Exemple_curses/essaiCurses.doc b/c/semaphores_manuel_exemples/Exemple_curses/essaiCurses.doc
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemple_curses/essaiCurses.doc
rename to c/semaphores_manuel_exemples/Exemple_curses/essaiCurses.doc
diff --git a/C_Language/semaphores_manuel_exemples/Exemple_curses/essaiCurses.pdf b/c/semaphores_manuel_exemples/Exemple_curses/essaiCurses.pdf
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemple_curses/essaiCurses.pdf
rename to c/semaphores_manuel_exemples/Exemple_curses/essaiCurses.pdf
diff --git a/C_Language/semaphores_manuel_exemples/Exemple_curses/essaicurses.c b/c/semaphores_manuel_exemples/Exemple_curses/essaicurses.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemple_curses/essaicurses.c
rename to c/semaphores_manuel_exemples/Exemple_curses/essaicurses.c
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/a.out b/c/semaphores_manuel_exemples/Exemples_semaphores/a.out
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/a.out
rename to c/semaphores_manuel_exemples/Exemples_semaphores/a.out
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/creaZ b/c/semaphores_manuel_exemples/Exemples_semaphores/creaZ
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/creaZ
rename to c/semaphores_manuel_exemples/Exemples_semaphores/creaZ
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/creaZ.c b/c/semaphores_manuel_exemples/Exemples_semaphores/creaZ.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/creaZ.c
rename to c/semaphores_manuel_exemples/Exemples_semaphores/creaZ.c
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ.c b/c/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ.c
rename to c/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ.c
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ_Sem b/c/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ_Sem
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ_Sem
rename to c/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ_Sem
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ_Sem.c b/c/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ_Sem.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ_Sem.c
rename to c/semaphores_manuel_exemples/Exemples_semaphores/ecrireZ_Sem.c
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/lireZ b/c/semaphores_manuel_exemples/Exemples_semaphores/lireZ
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/lireZ
rename to c/semaphores_manuel_exemples/Exemples_semaphores/lireZ
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/lireZ.c b/c/semaphores_manuel_exemples/Exemples_semaphores/lireZ.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/lireZ.c
rename to c/semaphores_manuel_exemples/Exemples_semaphores/lireZ.c
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/raZ b/c/semaphores_manuel_exemples/Exemples_semaphores/raZ
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/raZ
rename to c/semaphores_manuel_exemples/Exemples_semaphores/raZ
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/raZ.c b/c/semaphores_manuel_exemples/Exemples_semaphores/raZ.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/raZ.c
rename to c/semaphores_manuel_exemples/Exemples_semaphores/raZ.c
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/sema.c b/c/semaphores_manuel_exemples/Exemples_semaphores/sema.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/sema.c
rename to c/semaphores_manuel_exemples/Exemples_semaphores/sema.c
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/sema.h b/c/semaphores_manuel_exemples/Exemples_semaphores/sema.h
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/sema.h
rename to c/semaphores_manuel_exemples/Exemples_semaphores/sema.h
diff --git a/C_Language/semaphores_manuel_exemples/Exemples_semaphores/sema.o b/c/semaphores_manuel_exemples/Exemples_semaphores/sema.o
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/Exemples_semaphores/sema.o
rename to c/semaphores_manuel_exemples/Exemples_semaphores/sema.o
diff --git a/C_Language/semaphores_manuel_exemples/FileeDeMessage/msgCons.c b/c/semaphores_manuel_exemples/FileeDeMessage/msgCons.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/FileeDeMessage/msgCons.c
rename to c/semaphores_manuel_exemples/FileeDeMessage/msgCons.c
diff --git a/C_Language/semaphores_manuel_exemples/FileeDeMessage/msgProd.c b/c/semaphores_manuel_exemples/FileeDeMessage/msgProd.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/FileeDeMessage/msgProd.c
rename to c/semaphores_manuel_exemples/FileeDeMessage/msgProd.c
diff --git a/C_Language/semaphores_manuel_exemples/FileeDeMessage/nom2_de_fichier_existant b/c/semaphores_manuel_exemples/FileeDeMessage/nom2_de_fichier_existant
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/FileeDeMessage/nom2_de_fichier_existant
rename to c/semaphores_manuel_exemples/FileeDeMessage/nom2_de_fichier_existant
diff --git a/C_Language/semaphores_manuel_exemples/FileeDeMessage/test_msgctl.c b/c/semaphores_manuel_exemples/FileeDeMessage/test_msgctl.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/FileeDeMessage/test_msgctl.c
rename to c/semaphores_manuel_exemples/FileeDeMessage/test_msgctl.c
diff --git a/C_Language/semaphores_manuel_exemples/essaiCurses.pdf b/c/semaphores_manuel_exemples/essaiCurses.pdf
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/essaiCurses.pdf
rename to c/semaphores_manuel_exemples/essaiCurses.pdf
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/Makefile b/c/semaphores_manuel_exemples/exercice_rw/Makefile
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/Makefile
rename to c/semaphores_manuel_exemples/exercice_rw/Makefile
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/consommateur.c b/c/semaphores_manuel_exemples/exercice_rw/consommateur.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/consommateur.c
rename to c/semaphores_manuel_exemples/exercice_rw/consommateur.c
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/consommateur.h b/c/semaphores_manuel_exemples/exercice_rw/consommateur.h
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/consommateur.h
rename to c/semaphores_manuel_exemples/exercice_rw/consommateur.h
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/constantes.h b/c/semaphores_manuel_exemples/exercice_rw/constantes.h
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/constantes.h
rename to c/semaphores_manuel_exemples/exercice_rw/constantes.h
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/global.c b/c/semaphores_manuel_exemples/exercice_rw/global.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/global.c
rename to c/semaphores_manuel_exemples/exercice_rw/global.c
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/producteur.c b/c/semaphores_manuel_exemples/exercice_rw/producteur.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/producteur.c
rename to c/semaphores_manuel_exemples/exercice_rw/producteur.c
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/producteur.h b/c/semaphores_manuel_exemples/exercice_rw/producteur.h
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/producteur.h
rename to c/semaphores_manuel_exemples/exercice_rw/producteur.h
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/rapport b/c/semaphores_manuel_exemples/exercice_rw/rapport
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/rapport
rename to c/semaphores_manuel_exemples/exercice_rw/rapport
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/sema.c b/c/semaphores_manuel_exemples/exercice_rw/sema.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/sema.c
rename to c/semaphores_manuel_exemples/exercice_rw/sema.c
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/sema.h b/c/semaphores_manuel_exemples/exercice_rw/sema.h
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/sema.h
rename to c/semaphores_manuel_exemples/exercice_rw/sema.h
diff --git a/C_Language/semaphores_manuel_exemples/exercice_rw/types.h b/c/semaphores_manuel_exemples/exercice_rw/types.h
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/exercice_rw/types.h
rename to c/semaphores_manuel_exemples/exercice_rw/types.h
diff --git a/C_Language/semaphores_manuel_exemples/ipc_shm_posix.c b/c/semaphores_manuel_exemples/ipc_shm_posix.c
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/ipc_shm_posix.c
rename to c/semaphores_manuel_exemples/ipc_shm_posix.c
diff --git a/C_Language/semaphores_manuel_exemples/manuel_2009.pdf b/c/semaphores_manuel_exemples/manuel_2009.pdf
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/manuel_2009.pdf
rename to c/semaphores_manuel_exemples/manuel_2009.pdf
diff --git a/C_Language/semaphores_manuel_exemples/wtest6.c.pdf b/c/semaphores_manuel_exemples/wtest6.c.pdf
similarity index 100%
rename from C_Language/semaphores_manuel_exemples/wtest6.c.pdf
rename to c/semaphores_manuel_exemples/wtest6.c.pdf
diff --git a/C_Language/skel_getopts.c b/c/skel_getopts.c
similarity index 100%
rename from C_Language/skel_getopts.c
rename to c/skel_getopts.c
diff --git a/C_Language/squeeze.c b/c/squeeze.c
similarity index 100%
rename from C_Language/squeeze.c
rename to c/squeeze.c
diff --git a/C_Language/strdup.c b/c/strdup.c
similarity index 100%
rename from C_Language/strdup.c
rename to c/strdup.c
diff --git a/C_Language/strdup2.c b/c/strdup2.c
similarity index 100%
rename from C_Language/strdup2.c
rename to c/strdup2.c
diff --git a/C_Language/swapp.c b/c/swapp.c
similarity index 100%
rename from C_Language/swapp.c
rename to c/swapp.c
diff --git a/C_Language/testargs.c b/c/testargs.c
similarity index 100%
rename from C_Language/testargs.c
rename to c/testargs.c
diff --git a/C_Language/voir.c b/c/voir.c
similarity index 100%
rename from C_Language/voir.c
rename to c/voir.c
diff --git a/C_Language/weechat_plugins/Makefile b/c/weechat_plugins/Makefile
similarity index 100%
rename from C_Language/weechat_plugins/Makefile
rename to c/weechat_plugins/Makefile
diff --git a/C_Language/weechat_plugins/currentsong.c b/c/weechat_plugins/currentsong.c
similarity index 100%
rename from C_Language/weechat_plugins/currentsong.c
rename to c/weechat_plugins/currentsong.c
diff --git a/c/weechat_plugins/libcurrentsong.so b/c/weechat_plugins/libcurrentsong.so
new file mode 100755
index 0000000..68c2f76
Binary files /dev/null and b/c/weechat_plugins/libcurrentsong.so differ
diff --git a/c/weechat_plugins/test.c b/c/weechat_plugins/test.c
new file mode 100644
index 0000000..b7dfb32
--- /dev/null
+++ b/c/weechat_plugins/test.c
@@ -0,0 +1,66 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define TAILLE 5
+#define TAILLE_CHAINE 20
+#define TAILLE_BUFFER_CURRENT_SONG 200
+#define TAILLE_OPTIONS 20
+
+int main(int argc, char * argv[])
+{
+	int i,status;
+	int p[2];
+	char ** cmd;
+	char * song;
+	char * affichage;
+	cmd = (char **) malloc(sizeof(char*) * argc+1);
+	if(argc > 3) argc = 3;
+	for(i = 0 ; i < argc + 2 ; i++)
+		cmd[i] = malloc(sizeof(char*) * TAILLE_OPTIONS);
+	free(cmd[i-1]);
+	cmd[i-1] = (char *)0;
+	strcpy(cmd[0],"mpc");
+	strcpy(cmd[i-2],"current");
+	if(argc == 3)
+	{
+		strcpy(cmd[1],"-h");
+		strcpy(cmd[2],argv[2]);
+	}
+
+	song = malloc(TAILLE_BUFFER_CURRENT_SONG*sizeof(char));
+	affichage = malloc((TAILLE_BUFFER_CURRENT_SONG + 10) * sizeof(char));
+
+	for(i = 0 ; i < TAILLE_BUFFER_CURRENT_SONG ; i++)
+		song[i] = '\0';
+	for(i = 0 ; i < TAILLE_BUFFER_CURRENT_SONG + 10 ; i++)
+		affichage[i] = '\0';
+
+	pipe(p);
+	if(fork() == 0)
+	{
+		close(p[0]);
+		close(0); close(2);
+		dup2(p[1],1);
+		execvp("mpc", cmd);
+	}
+	close(p[1]);
+	read(p[0], song, TAILLE_BUFFER_CURRENT_SONG);
+	close(p[0]);
+	wait(&status);
+	if(WEXITSTATUS(status) != 0)
+		sprintf(song,"didn't worked !!!");
+	sprintf(affichage,"/me ♪ %s", song);
+	
+	//sprintf(affichage,"/me ♪ %s%s", weechat_color ("_red"), song); // Ne s'affiche pas correctement chez les autres
+	//weechat_utf8_normalize(affichage, '?'); // Pour ne pas avoir de caractères non-lisibles
+
+	printf("AFFICHAGE : %s\n",affichage);
+	free(song); // :')
+	for(i = 0 ; i < argc ; i++)
+		free(cmd[i]);
+	free(cmd);
+
+	return EXIT_SUCCESS;
+}
+
diff --git a/C_Language/weechat_plugins/weechat-plugins.h b/c/weechat_plugins/weechat-plugins.h
similarity index 100%
rename from C_Language/weechat_plugins/weechat-plugins.h
rename to c/weechat_plugins/weechat-plugins.h
diff --git a/C_Language/wordcount.c b/c/wordcount.c
similarity index 100%
rename from C_Language/wordcount.c
rename to c/wordcount.c
diff --git a/perl/LeLangagePerl.txt b/perl/LeLangagePerl.txt
new file mode 100644
index 0000000..4ddf627
--- /dev/null
+++ b/perl/LeLangagePerl.txt
@@ -0,0 +1,26 @@
+Le langage Perl
+
+Variables : 
+	Scalaires : $
+	Structurées : tableaux : @ 
+				  table de hash : %
+
+
+Langage contextuel = ne pas définir de type de variable
+
+$_ = variable par défaut
+
+exemple : 
+	$prenom = "Eric"
+	print "$prenom\n";
+	print $prenom."\n";
+	print $prenom,"\n";
+	print '$prenom\n'
+
+Autre exemple : 
+#!/usr/bin/perl
+
+while(<>)
+{
+	print;
+};
diff --git a/perl/antipixel/.MyWrapper.pm.swp b/perl/antipixel/.MyWrapper.pm.swp
new file mode 100644
index 0000000..8feec9c
Binary files /dev/null and b/perl/antipixel/.MyWrapper.pm.swp differ
diff --git a/perl/antipixel/.lanceur.pl.swp b/perl/antipixel/.lanceur.pl.swp
new file mode 100644
index 0000000..af76ec1
Binary files /dev/null and b/perl/antipixel/.lanceur.pl.swp differ
diff --git a/perl/antipixel/MyWrapper.pm b/perl/antipixel/MyWrapper.pm
new file mode 100644
index 0000000..f47af9a
--- /dev/null
+++ b/perl/antipixel/MyWrapper.pm
@@ -0,0 +1,52 @@
+package MyWrapper;
+use GD;
+use strict;
+use warnings;
+use 5.16.0;
+use Moo;
+use MooX::Options;
+
+has couleurs => ( is => 'ro', builder => '_build_colors' );
+
+
+option mess => ( is => 'rw', 
+		doc => 'message', format => 's', default => sub { 'message à afficher' } );
+option couleur_externe => ( is => 'rw', 
+		doc => 'couleur externe', format => 's', default => sub { 'bleu' });
+option couleur_interne => ( is => 'rw', 
+		doc => 'couleur interne', format => 's' );
+option couleur_background => ( is => 'rw' , 
+		doc => 'couleur du fond (écriture)', format => 's');
+
+
+sub _build_colors {
+	{
+		bleu => [0, 0, 255],
+		rouge => [255, 0, 0],
+		vert => [0, 255, 0],
+		noir => [0, 0, 0],
+		blanc => [255, 255, 255],
+		gris => [140, 140, 140]
+	};
+}
+sub tests {
+	my ($self) = @_;
+	my %couleurs = %{$self->couleurs};
+
+	say "mess : " . $self->mess;
+	say "couleur_externe : " . $self->couleur_externe;
+	say "Cette couleur n'existe pas !" unless exists $couleurs{$self->couleur_externe};
+	say "couleurs : " . join( ', ' , keys %couleurs) ;
+	while( my ($key , $value) = each %couleurs)
+	{
+		say "La couleur $key est : " . join(', ' , @$value);
+	}
+#	say "couleur_interne : " . $self->couleur_interne;
+#	say "couleur_background : " . $self->couleur_background;
+}
+sub run {
+	my $self = shift;
+	say "RUN !!!";
+}
+
+1;
diff --git a/perl/antipixel/gd_image.pl b/perl/antipixel/gd_image.pl
new file mode 100644
index 0000000..fe6e4ed
--- /dev/null
+++ b/perl/antipixel/gd_image.pl
@@ -0,0 +1,36 @@
+#!/usr/local/bin/perl
+
+use GD;
+
+my $x = 100;
+my $y = 15;
+my $intersection = $x - 30;
+my $espace_entre_mots = 2;
+my $w1 = "Alsace";
+my $w2 = "Réseau";
+my $w3 = "Neutre";
+
+# create a new image
+$im = new GD::Image($x,$y);
+
+# allocate some colors
+$grey = $im->colorAllocate(140,140,140);
+$white = $im->colorAllocate(255,255,255);
+$black = $im->colorAllocate(0,0,0);       
+$red = $im->colorAllocate(255,0,0);      
+$blue = $im->colorAllocate(0,0,255);
+
+# make the background transparent and interlaced
+#$im->transparent($white);
+$im->interlaced('true');
+
+# Put a black frame around the picture
+$im->rectangle(0, 0, $x -1, $y -1, $black);
+$im->filledRectangle(1, 1, $x -2, $y -2, $white);
+$im->filledRectangle(2, 2, $intersection - $espace_entre_mots, $y -3, $red);
+
+# make sure we are writing to a binary stream
+binmode STDOUT;
+
+# Convert the image to PNG and print it on standard output
+print $im->png;
diff --git a/perl/antipixel/lanceur.pl b/perl/antipixel/lanceur.pl
new file mode 100644
index 0000000..07d7288
--- /dev/null
+++ b/perl/antipixel/lanceur.pl
@@ -0,0 +1,8 @@
+#!/usr/bin/env perl 
+use strict;
+use warnings;
+use MyWrapper;
+my $wrapper = MyWrapper->new_with_options();
+$wrapper->tests();
+$wrapper->run();
+
diff --git a/PERL_Language/chrono.pl b/perl/chrono.pl
similarity index 100%
rename from PERL_Language/chrono.pl
rename to perl/chrono.pl
diff --git a/PERL_Language/daemon.pl b/perl/daemon.pl
similarity index 100%
rename from PERL_Language/daemon.pl
rename to perl/daemon.pl
diff --git a/PERL_Language/enMajuscule.pl b/perl/enMajuscule.pl
similarity index 100%
rename from PERL_Language/enMajuscule.pl
rename to perl/enMajuscule.pl
diff --git a/PERL_Language/eratosthene.pl b/perl/eratosthene.pl
similarity index 100%
rename from PERL_Language/eratosthene.pl
rename to perl/eratosthene.pl
diff --git a/perl/essai.perl b/perl/essai.perl
new file mode 100755
index 0000000..9a2c370
--- /dev/null
+++ b/perl/essai.perl
@@ -0,0 +1,18 @@
+#!/usr/bin/perl
+while(<>)
+{
+	if($_ =~ "Salut")
+	{
+		print "OK\n";
+	}
+};
+
+while(<>)
+{
+	print if $_=~/"Bonjour"/;
+};
+# Encore plus simple !!
+while(<>)
+{
+	print if /"Bonjour"/;
+};
diff --git a/perl/essai2.perl b/perl/essai2.perl
new file mode 100755
index 0000000..ebd14aa
--- /dev/null
+++ b/perl/essai2.perl
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+# Tableaux
+@tab1 = ("lu", "ma", "me");
+@tab2 = @tab1[1,2];
+@tab2 = @tab1;
+print $tab[0];
+print $#tab1; # $# = index du dernier élément
+$tab1[3] = "Je";
+$tab1[30] = "Mon Langage Perl";
+
+$#tab $_
+
+@ARGV
+
+$ARGV[0] # Le premier argument saisi
+$#ARGV
diff --git a/perl/essai3.perl b/perl/essai3.perl
new file mode 100755
index 0000000..03f6f0d
--- /dev/null
+++ b/perl/essai3.perl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl
+
+# Exercices tableaux
+@alphabet = ("a" .. "z");
+@cartes = ("01".."10","valet","dame","roi");
+@annee=("a1","a2","lp");
+@promo=@annee;
+@tout = (@alphabet , "dut" , @cartes , 1145, "\n");
+
+print @tout;
+
+# Autre exercice
+
+@jours=("Lundi","Mardi","Mercredi");
+
+foreach $jours(@jours)
+{
+	print $jours."\n";
+}
+
+# Perl : les nombres : < > <= >= == !=
+#		 Chaînes : lt gt eq ne
+
+# !~ et =~ sont des opérateurs d'appartenance
diff --git a/PERL_Language/getpwent.pl b/perl/getpwent.pl
similarity index 100%
rename from PERL_Language/getpwent.pl
rename to perl/getpwent.pl
diff --git a/PERL_Language/getpwent2.pl b/perl/getpwent2.pl
similarity index 100%
rename from PERL_Language/getpwent2.pl
rename to perl/getpwent2.pl
diff --git a/perl/grep.pl b/perl/grep.pl
new file mode 100755
index 0000000..8e62e71
--- /dev/null
+++ b/perl/grep.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl -w 
+# -w pour les erreurs
+
+$motif = shift(@ARGV);
+# $motif=$ARGV[0]
+#Shift
+
+# Manière non explicite
+while(<>)
+{
+	if(/$motif/) { print ; };
+};
+
+# Manière explicite
+while($ligne = <>)
+{
+	if($ligne =~ /$motif/)
+	{
+		print $ligne;
+	}
+};
diff --git a/perl/grep2.pl b/perl/grep2.pl
new file mode 100755
index 0000000..059b7a0
--- /dev/null
+++ b/perl/grep2.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/perl
+
+$motif=$ARGV[0];
+shift;
+foreach $f (@ARGV)
+{
+	open(F,"<$f") || die "Impossible de lire le fichier $f : $!";
+	
+	while(<F>)
+	{
+		if(/$motif/)
+		{	print "Motif trouvé dans $f : $_ \n";}
+	};
+}
diff --git a/PERL_Language/humanornot.pl b/perl/humanornot.pl
similarity index 100%
rename from PERL_Language/humanornot.pl
rename to perl/humanornot.pl
diff --git a/PERL_Language/humanornot2.pl b/perl/humanornot2.pl
similarity index 100%
rename from PERL_Language/humanornot2.pl
rename to perl/humanornot2.pl
diff --git a/perl/image.png b/perl/image.png
new file mode 100644
index 0000000..a069d6e
Binary files /dev/null and b/perl/image.png differ
diff --git a/PERL_Language/lePlusGros.pl b/perl/lePlusGros.pl
similarity index 100%
rename from PERL_Language/lePlusGros.pl
rename to perl/lePlusGros.pl
diff --git a/PERL_Language/max.pl b/perl/max.pl
similarity index 100%
rename from PERL_Language/max.pl
rename to perl/max.pl
diff --git a/PERL_Language/maxcourt.pl b/perl/maxcourt.pl
similarity index 100%
rename from PERL_Language/maxcourt.pl
rename to perl/maxcourt.pl
diff --git a/PERL_Language/mirroir.pl b/perl/mirroir.pl
similarity index 100%
rename from PERL_Language/mirroir.pl
rename to perl/mirroir.pl
diff --git a/PERL_Language/multi_chrono.pl b/perl/multi_chrono.pl
similarity index 100%
rename from PERL_Language/multi_chrono.pl
rename to perl/multi_chrono.pl
diff --git a/PERL_Language/nbmots.pl b/perl/nbmots.pl
similarity index 100%
rename from PERL_Language/nbmots.pl
rename to perl/nbmots.pl
diff --git a/PERL_Language/rappels.pl b/perl/rappels.pl
similarity index 100%
rename from PERL_Language/rappels.pl
rename to perl/rappels.pl
diff --git a/PERL_Language/silent_cmp.pl b/perl/silent_cmp.pl
similarity index 100%
rename from PERL_Language/silent_cmp.pl
rename to perl/silent_cmp.pl
diff --git a/PERL_Language/tube.pl b/perl/tube.pl
similarity index 100%
rename from PERL_Language/tube.pl
rename to perl/tube.pl
diff --git a/perl/wc.pl b/perl/wc.pl
new file mode 100755
index 0000000..680382e
--- /dev/null
+++ b/perl/wc.pl
@@ -0,0 +1,15 @@
+#!/usr/bin/perl -w
+
+# Utilisation : wc.pl fichier
+
+open(F, "<$ARGV[0]") || die "Problème d'ouverture de fichier ! ";
+
+$i = 0 ;
+while(<F>)
+{
+	$i++;
+};
+
+close(F);
+
+print "Nombre de lignes : $i \n";