Bonjour à Toutes et à Tous,
Je souhaite réaliser une application qui va créer interactivement des histogrammes et les afficher sur le web. J'ai trouvé sur le site du CPAN, le module CGI::Graph qui semble convenir à ce que je souhaite faire. Mais, en testant le premier exemple qui figure dans le SYNOPSIS (http://search.cpan.org/~mchang/CGIGr...ph.pm#SYNOPSIS), le script n'arrive pas ouvrir le fichier csv contenant les données. Le message d'erreur obtenu après exécution du script en ligne de commande est le suivant:Je résume brièvement comment j'ai procédé:Cannot open table.csv to read at C:/Perl/site/lib/Data/Table.pm line 928
Data::Table::fromCSV('table.csv') called at C:/Perl/site/lib/CGI/Graph.pm line 15
CGI::Graph::new('CGI::Graph') called at E:\essaicgigraph.pl line 22
-j'ai créé un fichier csv que j'ai nommé table.csv. Le délimiteur utilisé est la virgule. Ce fichier est dans le même dossier que le script. J'ai testé ce fichier avec le module Data::Table et il fonctionne bien.
-j'ai copié-collé le code de l'exemple du SYNOPSIS dans un fichier que j'ai appelé essaicgigraph.pl
Je voudrais savoir comment fournir le fichier csv au script pour qu'il puisse le lire. Pouvez-vous également me donner les mêmes indications sur le fichier intitulé MyFile dans l'exemple du SYNOPSIS ?
Informations complémentaires qui pourraient éventuellement être utiles:
- j'ai intallé l'interpréteur Perl 5.8.8 et le serveur Apache.
- Dans le message d'erreur ci-dessus, les deux premères lignes concernent les modules que j'ai déclaré en en-tête du module. Seule la troisième ligne renvoie à mon script.
- Voici le début du script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #!C:\Perl\bin\perl.exe -w use CGI::Graph; use CGI; use Data::Table; use GD::Graph; use GD; $q = new CGI; $q->param('source',"table.csv"); # assign specific parameters $q->param('myFile','select.dat'); %hash = $q->Vars(); # get hash from CGI object $plot = new CGI::Graph(\%hash); # create new CGI::Graph object
Je m'excuse d'avoir été long. C'est la première fois que je poste un message sur ce forum et je voulais donner le maximum d'informations.
Je vous remercie d'avance pour votre attention.
Partager