Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Perl] ouvrir un répertoire

Sujet résolu
    23 octobre 2006 à 18:26:34

    Bonjour a tous...
    Voici un petit code en shell pour encoder de wav en mp3.
    #!/bin/bash
    for file in *.wav
    do
            lame -h $file `echo $file | sed s/wav/mp3/`
    done

    Je voulais savoir s'il était possible de faire la même chose en Perl...
    En fait ce qui m'interesse c'est de savoir si l'on peut ouvrir un chemin pour le traiter avec Perl :-°
    Si qqn avait la réponse a ma question, ce serait cool ^^ ...
    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      23 octobre 2006 à 23:08:37

      OK, plusieurs méthodes ("There's more than one way to do it")

      La plus compréhensible et assez propre :

      #!/usr/bin/perl -w

      use strict; # module obligeant a coder
                  # proprement (ex: declaration des variable)

      my @list = <*.wav>; # @list est un tableau contenant tous les
                          # *.wav du repertoire actuel
      my ($file,$file2)# on déclare $file et $file2 ;
                          # peut aussi s'écrire " my $file; my $file2; "

      foreach $file (@list) { # pour chaque elements de @list ; la valeur encours est placé dans $file
          $file2 = $file;
          $file2 =~ s/wav$/mp3/i; # on applique la regex avec l'opérateur =~
          system("lame -h $file $file2");
      }


      La rapide moins compréhensible :

      #!/usr/bin/perl
      foreach (<*.wav>) {
          $a = $_;
          s/wav$/mp3/i;
          system("lame -h $a $_");
      }


      Edit (ajouts de commentaires) et : Pour spécifier le répertoire que tu veux, remplaces <*.wav> par </mon/repertroire/*.wav>
      si tu veux le faire avec les arguments (le premier ici) de la ligne de commande, <$ARGV[0]/*.wav>

      • Partager sur Facebook
      • Partager sur Twitter
        25 octobre 2006 à 17:36:03

        merci pour ton aide, c'est ca que je cherchais...
        • Partager sur Facebook
        • Partager sur Twitter

        [Perl] ouvrir un répertoire

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown