Salut c'est ENCORE moi!!
Voilou je m'explique...
En fait je voulais récup des informations d'un .log de sauvegarde pour les regrouper dans un autre fichier ...
Cepandant ça me met un message d'erreur quand je l'exécute dans la fenètre de commande :
Global symbol "@fields" requires explicit package name at Test1.pl line 24
Global symbol "@fields" requires explicit package name at Test1.pl line 24
Execution of Test1.pl aborded due to compilation errors
Je voudrais lire ligne par ligne le .log,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #! /Perl/bin/perl -w use strict; use warnings; # Ouverture du fichier cible # Lecture ligne par ligne et prise en compte du 2ème champ sub lecture { open my($file), '<', 'Adresse du projet à lire qui se nomme tina.log' or die "Couldn't open tina.log : $!\n"; while (<$file>) { my @fields = split /\s+/; } } # Sub. Créa. et Ecriture du .txt sub ecriture { my $fichier_out = "Fichier creer pour écrire dessus = sortie.txt"; open (OUT,">$fichier_out"); foreach my $fields (@_) { print OUT $fields[1], "\n" if @fields >= 3; } close(OUT); } my @fields = &lecture; &ecriture(@fields);
je vous met un exemple du log qui est composer de plusieurs parties comme suit, les infos soulignées sont celles que je voudrait récup.:
Sauvegarde bckad1lib1fr A (Totale) OK ALARME MINEURE
--------------------------------------------------------------------------
Soumission :01 fév 20:00
Démarrage :01 fév 20:00
Fin :01 fév 20:54
Id :64245 Volume : 23 235 375 772 Objets :73176
Priorité du travail : moyenne
Format de la sauvegarde : TiNa
Cartouches :
BCK600414@drive1 / 36
BCK600415@drive1 / 1
BCK600415@drive1 / 2
Si il y a des questions n'hésitez pas car je suis débutant!
Je vous remerci d'avance.
Partager