in reply to Need help modifing a script
So I'd say you have to strip the path from the filename (it's always the same anyway), or, perhaps easier, avoid adding it in the first place, by chdirring to the directory before calling glob, and then you're free to go.
Then you can safely do:chdir $path or die "Cannot chdir to $path: $!"; @Files = glob('*.wav');
Untested, but at least it passes syntax check.foreach my $File (@Files) { next unless -e $File; # already deleted my($type, $basename) = $File =~ /^PBX-(INTERNAL|IN|OUT)-(.*)\.wav$ +/; if(!$type) { # ??? unlink $File; } elsif($type ne 'INTERNAL') { # IN, OUT system("/usr/bin/sox -m $File PBX-INTERNAL-$basename.wav $base +name.wav"); unlink $File, "PBX-INTERNAL-$basename.wav"; # delete original +s system("/usr/bin/lame --cbr -b 32 --noreplaygain -q 2 \"$basen +ame.wav\" \"$basename.mp3\" --quiet"); if(!$? && -e "$basename.mp3") { system("mv \"$basename.mp3\" $mount"); unlink "$basename.wav"; } } }
|
|---|