Projet de script

Fermé
snoopsnake3 Messages postés 3 Date d'inscription mercredi 15 novembre 2017 Statut Membre Dernière intervention 3 décembre 2017 - Modifié le 3 déc. 2017 à 00:32
snoopsnake3 Messages postés 3 Date d'inscription mercredi 15 novembre 2017 Statut Membre Dernière intervention 3 décembre 2017 - 3 déc. 2017 à 06:03
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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
3 déc. 2017 à 00:37
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 mercredi 15 novembre 2017 Statut Membre Dernière intervention 3 décembre 2017
Modifié le 3 déc. 2017 à 06:11
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