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
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
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
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
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"
Testé, qui marche sur Windows NToïdes (ActivePerl) :
Maintenant, il doit bien exister un module équivalent pour Unices, voire même un module qui abstrait ça pour tous systèmes multi-utilisateurs ...
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";
Il y a aussi Unix::Login sur CPAN.
Merci à 2eurocent pour cette précision.
@ ++
Mon script Unixoide d'en-haut fonctionne sous Linux.
@ ++
Un autre truc, validé sous Windows NT/XP et qui peut être porté à *n*x à peu de frais :
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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 print $ENV{'USERNAME'};
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
Ta essayer ca :
http://search.cpan.org/~tbone/User-1.6/User.pm
j'ai regardé et justement, il y a la fonction getlogin mais je ne comprends pas comment il faut s'en servir.
![]()
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 ?
@++
Ta solution était :
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#!/usr/bin/perl
use strict;
my($who) = `whoami`;
print "Je suis $who\n"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'};my($who) = `whoami`;
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!![]()
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"'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é).
Code : Sélectionner tout - Visualiser dans une fenêtre à part perl -e '$who=getlogin;print "$who\n"'
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![]()
merci bcp!!!!
la troisième méthode marche très bien (je n'ai ps essayé les 2 autres)
![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager