Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1400 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Problème d'ouverture de fichiers au format .RRD ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'ouverture de fichiers au format .RRD ???

n°1080916
zip1234567​89
Posté le 12-05-2005 à 15:13:52  profilanswer
 

Bonjour tout le monde!!!
 
J'ai un petit problème à vous soumettre, Je voudrais ouvrir un fichiers au format .rrd (round robin data) pour ensuite retranscrire les informations qui sont à l'intérieur dans un autre fichier (.log par exemple).
J'ai déjà fait un petit programme en Perl pour récupérer le fichier .rrd mais je ne réussit pas à l'ouvrir!!!
ca fait depuis lundi que je suis la dessus et la franchement je planche!!! :??:  
 
quelqu'un peut-il m'aider svp?
 :sweat:

mood
Publicité
Posté le 12-05-2005 à 15:13:52  profilanswer
 

n°1080968
Elmoricq
Modérateur
Posté le 12-05-2005 à 15:35:51  profilanswer
 

Citation :

J'ai déjà fait un petit programme en Perl pour récupérer le fichier .rrd mais je ne réussit pas à l'ouvrir!!!


 
 
Je pense que cette indication nous permet de te dire qu'il manque un point-virgule à la ligne 39.
 
 
... non sérieusement, sans info sur l'erreur et le morceau de code qui va avec, on peut rien faire.

n°1081055
zip1234567​89
Posté le 12-05-2005 à 16:19:50  profilanswer
 

En fait mon code c'est juste deux lignes qui vont chercher le fichiers. ca ca marche bien.
Par contre j'ai essayer plein de fois de l'ouvrir mais ca marche pas. j'ai fait sa :  
 
#! C:\Perl\bin\perl.exe -w
use strict;
use RRDs;
rrd fetch "D:\\perl\\diadc01_hdd_total_215.rrd";

 
D'après ce que j'ai pu voir sur le net car je débute en perl. Et iil me dit ne erreur :  
 
"Can't locate object method "rrd" via package "fetch" (perhaps you forgot to load "fetch"?) at prog3.pl line 5."
 
Au fait j'ai pas oublier de point virgule ligne 39. :D

n°1081191
pospos
Posté le 12-05-2005 à 17:26:38  profilanswer
 

je connais pas le module RRDs, mais ce que je peux te dire c'est que ta syntaxe doit pas etre bonne.
t'es pas dans un shell.
 
sinon regarde du coté de ce module:
http://search.cpan.org/~rsoliv/rrdpoller-1.5.0/
 
c'est un wrapper pour RRDs

n°1081805
zip1234567​89
Posté le 13-05-2005 à 09:25:42  profilanswer
 

merci pour le lien! J'ai regarder ca a l'air d'être ce que je cherche.
 
Le problème c que j'ai toujours tout pleins d'erreurs. Mon morceaux de code c'est celui la (t'arrache pas les cheveux, tu va voir c'est tout con comme programme!!! ;) )
 
#! C:\Perl\bin\perl.exe -w
use strict;
use RRDs;
RRD::Query;
my $rq = new RRD::Query("D:\\perl\\diadc01_hdd_total_215.rrd" );
@datasources = list();

 
Et quand j'utilise ca pour ouvrir mon ficier .RRD il me met ca en erreur:  
 
Global symbol "@datasources" requires explicit package name at prog3.pl line 8.
Bareword "RRD::Query" not allowed while "strict subs" in use at prog3.pl line 5.
Execution of prog3.pl aborted due to compilation errors.

 
C'est du à quoi ces erreurs???Je suis perdu là!
 

n°1081814
pospos
Posté le 13-05-2005 à 09:35:31  profilanswer
 

houla
ton probleme c'est surtout la syntaxe Perl on dirait!
prend toi un bon tutorial et consacre y qq jours


Message édité par pospos le 13-05-2005 à 09:36:00
n°1081874
Elmoricq
Modérateur
Posté le 13-05-2005 à 10:08:57  profilanswer
 

use strict = il faut déclarer les variables avant de les utiliser.
 
Tout comme tu déclares $rq avant de l'initialiser (avec my $rq...), il faut utiliser my avec @datasources.
 
L'erreur de RRD::Query, c'est probablement un problème de syntaxe aussi.

n°1081887
zip1234567​89
Posté le 13-05-2005 à 10:16:23  profilanswer
 

oki merci pour les indications. je vais voir pour la syntaxe.

n°1081903
zip1234567​89
Posté le 13-05-2005 à 10:22:40  profilanswer
 

Est-ce-que vous savez a quoi peut correspondre cette erreur???
 
Bareword "RRD::Query" not allowed while "strict subs" in use at prog3.pl line 6.

n°1082114
zip1234567​89
Posté le 13-05-2005 à 12:45:48  profilanswer
 

Non c'est bon j'ai réussi à enlever l'erreur. S'était une faute de syntaxe et e, plus je m'était planter de librairie!! :D  
 
J'ai donc modifier mon code pour passer les valeurs de mon fichier .RRD dans un tableau hash.
Voici donc le code:  
 
#! C:\Perl\bin\perl.exe -w
use strict;
use RRDs;
my $hash ="";
my $key="";
$hash = RRDs::fetch ("D:\\perl\\diadc01_hdd_total_215.rrd", "AVERAGE" );
foreach my $key (keys %$hash)
{
print "$key = $$hash{$key}\n"  ;
}

 
Et maintenant il me dit une erreur que je n'avais pas encore eu :  
 
Use of inherited AUTOLOAD for non-method RRDs::fetch() is deprecated at prog3.pl line 6.
Can't locate auto/RRDs/fetch.al in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at prog3.pl line 6

 

mood
Publicité
Posté le 13-05-2005 à 12:45:48  profilanswer
 

n°1082120
Elmoricq
Modérateur
Posté le 13-05-2005 à 12:51:32  profilanswer
 

Ta lib a pas l'air de connaître fetch().

n°1082225
zip1234567​89
Posté le 13-05-2005 à 14:08:03  profilanswer
 

comment faire pour qu'il la reconnaisse?

n°1082238
pospos
Posté le 13-05-2005 à 14:13:03  profilanswer
 

Apprend la syntaxe Perl, sinon tu ne va pas arreter de butter sur des erreurs de syntaxe

n°1082252
Elmoricq
Modérateur
Posté le 13-05-2005 à 14:18:49  profilanswer
 

Je suis vaguement allé voir dans le cpan, et apparemment list() et fetch() sont dans le package RRD::Query.
 
Si j'ai bien capté, quand tu télécharges la bibliothèque RRD, tu as un Query.pm dedans, c'est ça qu'il faut utiliser (use Query).
 
Avec Query.pm mis dans @INC (dans ton cas, soit c:\perl\lib, soit c:\perl\site\lib)

n°1082255
Elmoricq
Modérateur
Posté le 13-05-2005 à 14:19:30  profilanswer
 

pospos a écrit :

Apprend la syntaxe Perl, sinon tu ne va pas arreter de butter sur des erreurs de syntaxe


 
Oui, aussi. :/

n°1082285
pospos
Posté le 13-05-2005 à 14:34:27  profilanswer
 

ouai mais le mec a fait sa doc comme un manche sur CPAN! c'est de la faute de l'auteur du module :
 
list et fetch c'est des methodes, pas des fonction comme al doc semble l'indiquer
donc faut faire un truc genre
my $rq = RRD::Query->new(...);
 
et esnuite
 
$rq->fetch(...)
 
ou $rq->list(...)


Message édité par pospos le 13-05-2005 à 14:35:17

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Problème d'ouverture de fichiers au format .RRD ???

 

Sujets relatifs
problème session_startIPC : problème d'ériture sur un segment attaché par un autre process
problème applet java.io.IOException: open HTTP connection failedproblème avec malloc enfin je pense ...
Probleme d'affichage d'un JComponent redefini.[javascript] probleme onmouseover avec frame
Probleme de requete sous access svp aideproblème de décalage aléatoire
Probleme javascript avec safarimail php problème...
Plus de sujets relatifs à : Problème d'ouverture de fichiers au format .RRD ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR