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 :

[langage] afficher heure et utilisateur


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 12
    Points
    12
    Par défaut [langage] afficher heure et utilisateur
    Bonjour, je recherche la fonction perl qui permet d'afficher l'heure exacte et celle qui permet d'afficher le nom de l'utilisateur qui utilise le programme perl


    merci à tous

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 39
    Points : 26
    Points
    26
    Par défaut
    http://www.google.fr/search?hl=fr&q=perl+nom+utilisateur&btnG=Rechercher&meta=lr%3Dlang_fr

    http://www.google.fr/search?hl=fr&q=perl+date&btnG=Rechercher&meta=lr%3Dlang_fr

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Je suis d'accord qu'il était simple de trouver comment afficher l'heure mais je ne sais tjrs pas comment afficher le nom de l'utilisateur.

    qlq'1 peut-il m'aider?

    merci

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 860
    Points : 4 819
    Points
    4 819
    Par défaut
    Non testé mais devrait marcher sur Unixoide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #!/usr/bin/perl
     
    use strict;
     
    my($who) = `whoami`;
    print "Je suis $who\n"
    @++

  5. #5
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Testé, qui marche sur Windows NToïdes (ActivePerl) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #!/usr/bin/perl -w
    use strict;
    use Win32;
     
    my $name=Win32::LoginName ;
     
    print "$name\n";
    Maintenant, il doit bien exister un module équivalent pour Unices, voire même un module qui abstrait ça pour tous systèmes multi-utilisateurs ...

  6. #6
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 860
    Points : 4 819
    Points
    4 819
    Par défaut
    Il y a aussi Unix::Login sur CPAN.
    Merci à 2eurocent pour cette précision .

    @ ++

  7. #7
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 860
    Points : 4 819
    Points
    4 819
    Par défaut
    Mon script Unixoide d'en-haut fonctionne sous Linux.

    @ ++

  8. #8
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Un autre truc, validé sous Windows NT/XP et qui peut être porté à *n*x à peu de frais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print $ENV{'USERNAME'};
    Mais qui a l'inconvénient d'être "faible" d'un point de vue sécurité : si l'utilisateur fait un "set USERNAME=toto" dans une fenêtre de commandes MS-DOS, avant de lancer le script dans cette fenêtre, on est marron parce que l'on repose sur l'environnement, et pas sur les appels système ... (C'est d'ailleurs un sujet qui a été débattu sur les forums Unix/Linux il y a quelques semaines)

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    En fait, ca ne marche pas car je travaille sur un Mac Os X
    On m'a dit d'utiliser la fonction getlogin mais je ne comprends pas comment elle marche.

    merci d'avance

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 22
    Points : 26
    Points
    26

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    j'ai regardé et justement, il y a la fonction getlogin mais je ne comprends pas comment il faut s'en servir.

  12. #12
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 860
    Points : 4 819
    Points
    4 819
    Par défaut
    Sans vouloir insister sur ma soluce, il me semble MacOSX est basé sur Unix (BSD qui plus est) ? Et tu es sûr que ma soluce ne tourne pas ?

    @++

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Ta solution était :
    #!/usr/bin/perl

    use strict;

    my($who) = `whoami`;
    print "Je suis $who\n"
    mais je me suis mal expliquée car en fait pour avoir le nom de l'utilisateur ds ta solution, il faut y répondre c'est-à-dire écrire
    my($who) = `whoami`;
    or moi je souhaiterai qu'il trouve tout seul le nom de l'utilisateur en utilisant des variable d'environnement, du style print $ENV{'SERVER_NAME'};
    print $ENV{'USERNAME'}; ou
    la fonction getlogin mais je ne sais pas comment faire....

    en fait je fait du html qui tourne grâce à un programme perl et au CGI, et ce programme me renvoit un fichier texte que j'aimerai appeler du même nom que son utilisateur .....

    j'espère être assez claire...?

    merci bcp!

  14. #14
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Testé sous MacOS X (10.3.x), les trois solutions ci-dessous fonctionnent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -e '($who)=`whoami`;chomp ($who);print "$who\n"'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -e 'print "$ENV{'USER'}\n"'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -e '$who=getlogin;print "$who\n"'
    Seule la troisième me parait sure d'un point de vue sécurité (la première a une faille dans l'appel à un programme externe qui peut être remplacé, la seconde repose sur un environnement qui peut être modifié).

    La fonction getlogin (documentée dans perlfunc) procède par un appel système qui vérifie le log des connexions (/.../utmp). On pourra donc difficilement trouver plus fiable ... car si ça, c'est compromis, alors tout fout le camp, ma brave dame

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    merci bcp!!!!
    la troisième méthode marche très bien (je n'ai ps essayé les 2 autres)

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

Discussions similaires

  1. Faire compléter un champs heure à l'utilisateur
    Par bygui dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 21/06/2006, 16h28
  2. Afficher heure et minute d'un TIME (MySQL)
    Par FCDB dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 24/04/2006, 14h08
  3. Langage C/POSIX - Droits utilisateurs !
    Par Franck.H dans le forum Linux
    Réponses: 20
    Dernier message: 14/12/2005, 18h55
  4. Réponses: 2
    Dernier message: 04/05/2005, 14h52
  5. [langage] fin de saisie utilisateur
    Par Kinethe dans le forum Langage
    Réponses: 4
    Dernier message: 24/06/2004, 14h19

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