IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

setInterval pour Perl ?


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 101
    Par défaut setInterval pour Perl ?
    Bonjour, j'ai une petite question, quel est l'equivalent de setInterval du javascript pour Perl ?
    Merci

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    et ceux qui ne connaisent pas setInterval font comment? tu devrait etre plus clair, tu crois pas

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 101
    Par défaut
    C'est une fonction qui permet de reexexuter une autre fonction toutes les x secondes.

    par exemple ma fonction :

    affiche_texte()

    setInterval("affiche_texte", 2000) pour la réexecuter toutes les 20 secondes

    Merci

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    je sais pas s'il existe une fonction perl le faisant, mais tu peux faire un while dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while (ta condition) {
     //execute ma commande
    sleep(20); #pour refaire la boucle 20 seconde apres
    }
    Je sais pas si ça t'aide !!

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Il y a en fait deux réponse à ça, selon que cette fonction soit la seule à effectuer dans ton programme, ou que tu veuilles qu'elle s'exécute plus ou moins "en parallèle" du reste du programme. De plus si tu es en train de concevoir une GUI, les outils nécessaires sont déjà dans tes modules, sinon il faut employer une voie alternative.
    Peux tu nous donner plus de détails sur ce que tu souhaite faire ? (Javascript est un langage mené par les évènements, ce qui n'est pas le cas par défaut en Perl, c'est pourquoi il n'y a pas de parallèle direct entre les deux langages)

    --
    Jedaï

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 101
    Par défaut
    C'est un peu spécial.
    Ne le voyez pas comme mal, mais je fais des test en local.
    J'ai une requete http que j'envoie grace à un socket.
    Seulement je veux qu'elle s'execute toutes les 20 secondes.
    Mon programme est deja fait en javascript (ajax), mais j'aimerais le porté sur perl ainsi que python. Le but est de faire executé cette requete toutes les 20 secondes. Pour cela il faudrait un "retardement" et puis la requetes se reexecute. Le code de djibril est très bien . Mais je voulais savoir s'il existe une fonction intégrée à Perl qui permet cela comme cele du javascript.

    Merci

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Par défaut
    javascript est pas nature evenementiel: tu entre dans la boucle d'evenement du browser et c'est lui qui appel tes callback.
    En perl c'est different: tu n'a pas de mainloop (du moins pas integré au langage) et c'est toi qui defini ton flow d'execution (avec des sleep par exemple).
    Pour faire un truc evenementiel comme tu en a l'habitude en js tu peux utiliser une librairie de gestion d'evenement genre Event ou meme carrement POE, ou une librairie de GUI genre Tk ou GTK2.

    mais bon comme le dit Jedai si tu ne fait pas d'autre chose en meme temps alors une simple boucle et un sleep doit suffire (avec eventuellement un sleep d'une durée egale à 20sec moins le temps qu'aura pris ta requete, si tu veux etre precis)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vos éditeurs favoris pour Perl
    Par djibril dans le forum Langage
    Réponses: 83
    Dernier message: 28/07/2009, 21h07
  2. Drivers SQL server pour Perl DBI ?
    Par panaone dans le forum SGBD
    Réponses: 14
    Dernier message: 05/05/2006, 22h29
  3. installation de librairie (non perl) pour perl
    Par Ickou dans le forum Modules
    Réponses: 2
    Dernier message: 09/11/2005, 16h57
  4. [langage] EPIC Plugin eclipse pour perl
    Par JefDeBourges dans le forum Langage
    Réponses: 2
    Dernier message: 21/12/2004, 18h06
  5. Installation du module DBI pour perl sous W2K
    Par tomcat dans le forum Modules
    Réponses: 6
    Dernier message: 22/01/2004, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo