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

  FORUM HardWare.fr
  Programmation
  Perl

  pb use et require

 


koi?




Attention si vous cliquez sur "voir les résultats" vous ne pourrez plus voter

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

pb use et require

n°730449
loothoof
Posté le 18-05-2004 à 16:08:13  profilanswer
 

Salut à tous.
J'ai un pb:
Voici mon code:

Code :
  1. #!/bin/perl
  2. require "fonctions_divers.pl";
  3. use Mesure;
  4. $date = recup_date();
  5. print ("$date\n" );
  6. my $mesure = Mesure->new("switch-G0-1" );
  7. @tabcharge = $mesure->charge_cpu("/groupware/Projets/Stages/GSTAreseau/projet.ori/fin/rapport_mesures/","/usr/opt/local/bin/snmpwalk","$date" );
  8. print("@tabcharge\n" );


 
Dans fonctions_divers.pl se trouve la fonction recup_date
Le pb est que sa ne marche pas.
il me marque: Undefined subroutine &main::recup_date called at essai.pl line 7.
Quand je j'enleve use Mesure la il arrive bien à executer recup_date mais pas Mesure->.... (evident)
 
Je ne c pas quoi faire
Quelqu'un a une idée?

mood
Publicité
Posté le 18-05-2004 à 16:08:13  profilanswer
 

n°730473
pospos
Posté le 18-05-2004 à 16:23:06  profilanswer
 

les bibilotheques (fichier .pl que tu require) c'est pas vraiment top...
 
vaut mieux faire de vrais module .pm!
 
le probleme vient surement du fait que tu require le meme fichier dans "Mesure"
 
transforme ta bibliotheque en un vrai module et tu n'aura plus à te soucier de ca!

n°730479
loothoof
Posté le 18-05-2004 à 16:28:27  profilanswer
 

ok merci je vais essayer

n°731680
loothoof
Posté le 19-05-2004 à 15:57:54  profilanswer
 

J'ai a présent un second pb que voici:
J'ai un script perl que je dois effectuer périodiquement,
pour ce faire j'utilise le cron.
Voici le script qui est executé:
 

Code :
  1. #!/bin/perl
  2. $ch_heure = "/groupware/Projets/Stages/GSTAreseau/projet.ori/fin/script/heure";
  3. chdir ($ch_heure);
  4. #recuperation des mesures programmees
  5. system("ls *.pl>liste_mesures.txt" );
  6. $heure2=$ch_heure."liste_mesures.txt";
  7. open(MES,"$heure2" ) || die "Impossible d'ouvrir liste_mesures.txt";
  8. while(<MES> )
  9. {
  10. #execution des scripts programmes
  11. system("$_" );
  12. }
  13. close MES;
  14. system("rm $heure2" );


Mais voila que j'ai un pb avec le repertoire $ch_heure en effet il me dit (lors de l'execution automatique) not found et du coup j'ai une erreur dans mon chdir. Or quand l'execute a la main le script marche bien.Je voulais savoir s'il y a vais un astuce. Merci.

n°732309
pospos
Posté le 19-05-2004 à 23:46:22  profilanswer
 

ben c'est juste un probleme de repertoire courant: kand tu le lance en cron le repertoire courant n'est pas le meme que kand tu le lance à la main...
 
essai avec un chemin absolu pour voir

n°732310
pospos
Posté le 19-05-2004 à 23:46:42  profilanswer
 

et essai d'ouvrire un nouveau topic pour chaque nouveau probleme

n°732358
Taz
bisounours-codeur
Posté le 20-05-2004 à 00:07:10  profilanswer
 

avec un sondage pourri, non merci

n°732373
burgergold
5$? va chez l'diable!
Posté le 20-05-2004 à 00:17:06  profilanswer
 

sinon utilise pas des commandes systèmes quand ya des équivalent sous perl
 
rm -> unlink
ls -> module File::Find


---------------
http://www.boincstats.com/signature/user_664861.gif
n°735681
loothoof
Posté le 24-05-2004 à 10:41:43  profilanswer
 

J'ai mis le chemin absolu et tjs pareil.

n°736276
pospos
Posté le 24-05-2004 à 15:27:45  profilanswer
 

affiche le repertoire courant dans ton script pour voir d'ou ca le lance

mood
Publicité
Posté le 24-05-2004 à 15:27:45  profilanswer
 

n°736309
loothoof
Posté le 24-05-2004 à 15:47:56  profilanswer
 

le Voici:
/groupware/Projets/Stages/GSTAreseau/projet.ori/fin/script/heure/mesures_prog
 et moi je voudrai aller dans :
/groupware/Projets/Stages/GSTAreseau/projet.ori/fin/script/essai

n°736473
loothoof
Posté le 24-05-2004 à 16:56:07  profilanswer
 

En faite c bizarre car quand je veut ouvrir un fichier dans ce script il me marque erreur de syntax. Pareil qd je veut utiliser une librairie(use).

n°736479
burgergold
5$? va chez l'diable!
Posté le 24-05-2004 à 16:58:22  profilanswer
 

et c'est quoi l'erreur de syntaxe?


---------------
http://www.boincstats.com/signature/user_664861.gif
n°737151
loothoof
Posté le 25-05-2004 à 09:20:07  profilanswer
 


voici les erreurs qu'il me marque  
 
/groupware/Projets/Stages/GSTAreseau/projet.ori/fin/script/heure/mesures
_prog/mesure.pl: use: not found
 /groupware/Projets/Stages/GSTAreseau/projet.ori/fin/script/heure/mesures
_prog/mesure.pl: syntax error at line 4: `open' unexpected
 
Alors que je ne fait pas d'erreur de syntax
voici la syntax:
 

Code :
  1. use Tk;
  2. open (ECRIRE,"> /groupware/Projets/Stages/GSTAreseau/projet.ori/fin/script/essai/fichier.txt" ) || die "Erreur de creation de fichier.txt" ;
  3. require "chemins.pl";
  4. chdir ("$ch_quo" );
  5. #recuperation des mesures programmees
  6. system("ls *.pl>liste_mesures.txt" );
  7. $quotidien2=$ch_quo."liste_mesures.txt";
  8. open(MES,$quotidien2) || die "Impossible d'ouvrir liste_mesures.txt";
  9. while(<MES> )
  10. {
  11. #execution des scripts programmes
  12. system("$_" );
  13. }
  14. close MES;
  15. system("rm $quotidien2" );

n°737443
burgergold
5$? va chez l'diable!
Posté le 25-05-2004 à 11:50:07  profilanswer
 

c'est ton script au complet ca?
 
et tu l'exécuté comment? en lancant simplement tonscript.pl ou en faisant perl tonscript.pl


---------------
http://www.boincstats.com/signature/user_664861.gif
n°737472
loothoof
Posté le 25-05-2004 à 12:03:59  profilanswer
 

je l'execute dans le cron en lancant simplement monscrip.pl

n°737483
burgergold
5$? va chez l'diable!
Posté le 25-05-2004 à 12:09:46  profilanswer
 

bin t'a pas de shebang en haut de ton script, alors il peut pas savoir avec quoi le lancer lui
 
#!/usr/bin/perl
 
selon où se trouve ton perl


---------------
http://www.boincstats.com/signature/user_664861.gif
n°737504
loothoof
Posté le 25-05-2004 à 12:22:18  profilanswer
 

si si j'ai #!/bin/perl
excuse c mon copier collé qui a merdé

n°739234
loothoof
Posté le 26-05-2004 à 10:44:15  profilanswer
 

Allo !!!!  personne pour m'aider?

n°739477
pospos
Posté le 26-05-2004 à 11:38:46  profilanswer
 

visiblement vu les erreurs qu'il te sort il a pas compris que c'etait du perl...
 
lance le explicitement avec perl et le nom du script en parametre


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

  pb use et require

 

Sujets relatifs
Problème avec un tableau et un require inclus dedans..Quel différence entre Require() et Include() ?
[resolu] [facile] require[php] Différence entre include et require ?
Différence entre le require_once et le include au niveau sécurité ?On peut faire des require ou include sur des non .php
[PHP] Include/require à distance (résolu, merci!)[php] "require" imbriqué
[php] require : comment que ça marche exactement[PHP] require() ou include() ??
Plus de sujets relatifs à : pb use et require


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