Je débute en perl et j'essaie de réaliser en petit scrip pour ripper des
cd audios. J'utilise donc CDDB_get pour obtenir les infos des cd.
Tout s'affiche correctement, mais quand je désire créer un répertoire de
la forme artiste/album/, la fin de album se voit affubler d'un "pas
joli" ^M (ctrl-M). après quelques recherches, j'apprends que ces ^M
correspondent aux fins de lignes des fichiers textes mac os.
J'ai du donc faire une chtite erreur quelquepart. si une âme sensible
pouvait m'aider...
Voici le bout de code incriminé :
# Obtention des donnees cddb
my %config_cddb;
# following variables just need to be declared if different
from defaults
$config_cddb{CDDB_HOST}="freedb.freedb.org"; # set cddb host
$config_cddb{CDDB_PORT}=8880; # set cddb port
$config_cddb{CDDB_MODE}="cddb"; # set cddb
mode: cddb or http
$config_cddb{CD_DEVICE}="/dev/cdrom"; # set cd device
# user interaction welcome?
$config_cddb{input}=0; # 1: ask user if more than one possibility
# 0: no user interaction
# get it on
my %cd=get_cddb(\%config_cddb);
unless(defined $cd{title}) {
die "no cddb entry found";
}
my $n=1;
foreach my $i ( @{$cd{track}} ) {
print "Titre $n : $i\n";
$n++;
}
#######################################################################
# Creation du repertoire de destination
my $artiste = $cd{artist};
$artiste =~ s/ /_/g ;
my $album = $cd{title};
$album =~ s/ /_/g ;
my $outdir = "/tmp/".$artiste;
mkdir $outdir or die "Impossible de créer le répertoire destination : $!";
$outdir = "/tmp/".$artiste."/".$album."/";
print $outdir."\n";
mkdir $outdir or die "Impossible de créer le répertoire destination : $!";
Et voici la sortie de ls après ça :
~ ls /tmp/Keith_Jarrett,_Gary_Peacock,_Jack_DeJohnette/
Whisper_Not-_Disc_II?
~ ls
tmp/Keith_Jarrett,_Gary_Peacock,_Jack_DeJohnette/Whisper_Not-_Disc_II^M/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Emmanuel Florac
Le Sat, 14 May 2005 17:55:28 +0200, Nicolas Roudninski a écrit :
Je débute en perl et j'essaie de réaliser en petit scrip pour ripper des cd audios.
Quand tu affiches le nom de l'album avant de créer le dossier, le caractère supplémentaire est là ou pas?
Il faut savoir que la fin de ligne est n sous Linux/Unix, r sous Mac OS classique et rn sous DOS/windows/VMS. Si tu as une chaîne au format DOS et que tu retires le dernier caractère, tu obtiens une chaîne terminée par r (^M), c'est sans doute ça le problème...
-- entia non sont multiplicanda praeter necessitatem. Guillaume d'Ockham.
Le Sat, 14 May 2005 17:55:28 +0200, Nicolas Roudninski a écrit :
Je débute en perl et j'essaie de réaliser en petit scrip pour ripper des
cd audios.
Quand tu affiches le nom de l'album avant de créer le dossier, le
caractère supplémentaire est là ou pas?
Il faut savoir que la fin de ligne est n sous Linux/Unix, r sous Mac OS
classique et rn sous DOS/windows/VMS. Si tu as une chaîne au format DOS
et que tu retires le dernier caractère, tu obtiens une chaîne terminée
par r (^M), c'est sans doute ça le problème...
--
entia non sont multiplicanda praeter necessitatem.
Guillaume d'Ockham.
Le Sat, 14 May 2005 17:55:28 +0200, Nicolas Roudninski a écrit :
Je débute en perl et j'essaie de réaliser en petit scrip pour ripper des cd audios.
Quand tu affiches le nom de l'album avant de créer le dossier, le caractère supplémentaire est là ou pas?
Il faut savoir que la fin de ligne est n sous Linux/Unix, r sous Mac OS classique et rn sous DOS/windows/VMS. Si tu as une chaîne au format DOS et que tu retires le dernier caractère, tu obtiens une chaîne terminée par r (^M), c'est sans doute ça le problème...
-- entia non sont multiplicanda praeter necessitatem. Guillaume d'Ockham.