Comment intégrer du bash au perl

Fermé
nono13 - 9 févr. 2008 à 17:04
 nono13 - 9 févr. 2008 à 19:25
Bonjour, je souhaiterais savoir si il serait passible et comment faire pour intégrer du bash dans du perl.

Pour cette commande,
echo Nous sommes le `date +"%A %d %B %Y"` et il est `date +"%H"`h `date +"%M"`min et `date +"%S"`s

merci.

10 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
9 févr. 2008 à 17:31
Salut,

pourquoi pas utiliser la fonction localtime ou le module Time::localtime ?!
lami20j@debserv:~/trash$ cat time.pl
#!/usr/bin/perl
use strict;use warnings;

my ($j,$h,$m,$s);
$j = qx/date +"%A %d %B %Y"/;
$h = qx/date +"%H"/;
$m = qx/date +"%M"/;
$s = qx/date +"%S"/;

chomp($j,$h,$m,$s);
print "Nous sommes le $j et il est $h h $m min et $s s\n";
__END__
lami20j@debserv:~/trash$ perl time.pl
Nous sommes le samedi 09 février 2008 et il est 17 h 33 min et 28 s
lami20j@debserv:~/trash$

0
merci beaucoup.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
9 févr. 2008 à 17:51
restons parresseux ;-))
#!/usr/bin/perl
use strict;use warnings;

my ($j,$h,$m,$s) = split /[;\n]/,qx{date +"%A %d %B %Y;%H;%M;%S"};
print "Nous sommes le $j et il est $h h $m min et $s s\n";
__END__
--

lami20j
0
merci, pour ceux qui ont besoin j'ai essayer un script qui fonctionne lui ossi

#!/usr/bin/perl
system "clear";
print " Bonjour.\n";
@date = localtime(time);
print"\n";
@mois = ("janvier","février","mars","avril","mai","juin",
"juillet","aout","septembre","octobre","novembre","décembre");
$an = 1900 + $date[5] ;
$phr = " Nous sommes le $date[3] $mois[$date[4]] $an " ;
$phr .= "et il est $date[2] H $date[1] min $date[0] s \n";
print $phr ;

;);)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
9 févr. 2008 à 17:55
pourquoi pas utiliser la fonction localtime ou le module Time::localtime ?!
justement je t'ai posé la question ;-))
mais comme tu as demandé une commande shell
0
En effet lami20j, c'est justement grâce à la commande que vous ma donné que j'ai pu faire mon script. Je ne la connaissait pas et vu que je savez le faire en bash;).
Par contre savez-vous comment régler l'heure parceque la je je me plis en 4 mais bon mis à part la commande que je vien de trouver
# date MMDDHHmmAA où MM est le mois, DD le jour, HH l'heure, mm les minutes et AA l'année, tous sur deux chiffres.

merci
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
9 févr. 2008 à 18:30
comme ça?!
#!/usr/bin/perl
print " Bonjour.\n";
($s,$m,$h,$j,$M,$a) = localtime;
#MMDDHHmmAA
printf "Nous sommes le %02d%02d%02d%02d%02d\n",$M+1,$j,$h,$m,$a-100;
__END__

0
En fait je voudrais procéder au réglage de l'heure sous linux. Je croyer que la commande était # date MMDDHHmmAA .
Du coup je ne la connais pas. Pouvez-vous me venir en aide
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
9 févr. 2008 à 18:55
date 0209184608
oui c'est bien ça
donc si je comprends bien tu veux utiliser un script pour changer l'heure de ton système?!

ce n'est pas nécessaire tant qu'il y a une commande système qui peut le faire ;-)
#!/usr/bin/perl
($s,$m,$h,$j,$M,$a) = localtime;
$M += 1;
$a -= 100;
#MMDDHHmmAA
my $date = sprintf ("%02d%02d%02d%02d%02d",$M,$j,$h,$m,$a);
system (date,$date);
__END__

0
Merci, mais ce n'est pas trop cela que je rechercher en faite je souhaite modifier l'heure de mon système en rentrant l'heure, les minutes, les secondes, le jour, le moi et l'année mais je ne c pas si c faisable.
0