Projet de script

snoopsnake3 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
snoopsnake3 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je viens vers vous pour avoir de l'aide sur un projet de scripting en Perl qui va tourner sous AIX, ne maitrisant pas du tout je viens vous redemander de l'aide.

Mon fichier de paramètre ressemble a :

c:\fichiers\test\test1.txt;test1@yopmail.com
c:\fichiers\test\test2.txt;test2@yopmail.com
c:\fichiers\test\test3.txt;test3@yopmail.com
c:\fichiers\test\test4.txt;test4@yopmail.com,test5@yopmail.com

Mon script ressemble a :
#!/usr/opt/perl5/bin/perl

use lib "/usr/opt/perl5/lib64/5.8.8";
use File::Copy
use Mail::Sendmail

# Fichier de paramètre contenant le chemin du fichier ainsi que ses destinataires
$fp = "c:\fichiers_destinataires" ;

# Valeurs des champs séparé par un point virgule :
# 0: Chemin des fichiers a transferer
# 1: Mail des destinataires selon les fichiers

# Dossier de sauvegarde des fichiers envoyés
$ds = "c:\dossier_sauvegarde" ;

#Ouverture du fichier
with open($fp) as f :

#Lecture du fichier ligne par ligne
for line in f :

#Dès qu'un fichier existe et qu'il n'est pas vide il est envoyé par mail a sa liste de destinataires
do pour_les_fichiers_qui_existe_en_parametre_1_de_$fp et_qui_sont_pas_vide
{
%mail = (to   =>  parametre_1_de_$fp
      from  =>  serveur@yopmail.com
             subject   =>  Fichiers
      message =>  Les fichiers demandés
      attach  =>  parametre_0_de_$fp
     );
}

#Déplace les fichiers envoyés vers un dossier de sauvegarde
foreach les_fichiers_qui_ont_ete_envoyés
{
move(les_fichiers_qui_ont_ete_envoyés, $ds);
}
close

Il me manque pas mal de chose...

Merci pour votre temps par avance.

THENab

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).

Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
Jordane45
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
Bonjour,

Oui il te manque des choses dans ton script ... mais.. à toi de nous indiquer quoi exactement.

Je suppose déjà que tu souhaites savoir comment récupérer le nom du fichier puis les adresses mail.....
Pour ça.. rien de plus simple : SPLIT
https://perlmaven.com/perl-split

Voici un exemple de lecture d'un fichier csv :
https://perlmaven.com/how-to-read-a-csv-file-using-perl

Et voici comment envoyer un mail en perl
https://www.perlmonks.org/?node_id=19430



1
snoopsnake3 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour les conseils et la réponse, effectivement je ne savais pas comment récupérer les passages que j'ai mis en français espacé par les "_". On m'a conseillé de la lecture pour débutant sur Perl. Je reviendrais vers vous après lecture et avec un script un peu plus avancé je l'espère.

Cordialement.
0