Comment intégrer du bash au perl

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.
Configuration: Windows Vista
Internet Explorer 7.0

10 réponses

  1. Modérateur
    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$

    1. Modérateur
      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
      1. 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 ;

        ;);)
        1. Modérateur
          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
          1. 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
            1. Modérateur
              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__
              

              1. 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
                1. Modérateur
                  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__

                  1. 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.