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 averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    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
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 39
    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 averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    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
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 889
    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"
    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    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
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

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

    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  7. #7
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

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

    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    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 averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    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
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 22

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    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
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 889
    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 ?

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    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 : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    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 averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    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