PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : probleme mit CDDB_get.pm



deathb
31-10-2003, 18:30
in der ersten for schleife gehen die probleme los, $cd_data{track}
verändert sich, und ich weiss nicht warum...irgendwie wird die variable gelöscht.
was dann folgende ausgabe gibt:

- 01 - track

so sollte es aussehen:
artist - title - 01 - track

hat jemand eine idee?
#!/usr/bin/perl -w

use CDDB_get qw( get_cddb );
use strict;

my %cddb_query;

$cddb_query{CDDB_HOST}="freedb.freedb.org";
$cddb_query{CDDB_PORT}="8880";
$cddb_query{CDDB_MODE}="cddb";
$cddb_query{CD_DEVICE}="@ARGV";
$cddb_query{input}=1;

my %cd_data=get_cddb(\%cddb_query);
unless(defined $cd_data{title}) {
die "no cddb entry found";
}


print "artist: $cd_data{artist}\n";
print "title: $cd_data{title}\n";
print "category: $cd_data{cat}\n";
print "cddbid: $cd_data{id}\n";
print "trackno: $cd_data{tno}\n";

my $n=1;
foreach my $i ( @{$cd_data{track}} ) {
if ($n < 10) {
print "$cd_data{artist} - $cd_data{title} - 0$n - $i\n"}
else {print "$cd_data{artist} - $cd_data{title} - $n - $i\n"}
$n++;
}
our $working_directory=$cd_data{artist};
if(!(-e $working_directory)) {
mkdir ($working_directory,0755);}
else {chmod (0755,$working_directory);}
if (!(-e "$working_directory\/$cd_data{title}")) {
mkdir ("$working_directory\/$cd_data{title}",0755)}
else {chmod (0755,"working_directory\/$cd_data{title}");}

$working_directory="$cd_data{artist}\/$cd_data{title}";

$n=1;
for ( @{$cd_data{track}} ) {
if ($_ =~ s/\// - /g) {print "slash ersetzt durch backslash \n"}
if ($n == 6) {
system("/usr/bin/cdparanoia -d $cddb_query{CD_DEVICE} $n \"/tmp/music/$working_directory/$cd_data{
artist} - $cd_data{title} - 0$n - $_.wav\"")
}
else {
# system("/usr/bin/cdparanoia -d $cddb_query{CD_DEVICE} $n \"/tmp/music/$working_directory/$cd_data
{artist} - $cd_data{title} - $n - $_.wav\"")
}
$n++;
}