#!/usr/bin/perl

use strict;
use warnings;
use File::Basename;

my $force=0;
my $sourceDir='/media/LaCie/e3/Music/ROLAND/WAVE';

foreach my $arg (@ARGV) {
    $force=1 if $arg=~/-f/;
    $sourceDir=$arg if -d $arg;
}

my $cmd=sprintf "find %s -name '*WAV'", $sourceDir;
my @files=`$cmd`;
foreach my $path (@files) {
    chomp $path;
    next unless $path=~/WAV$/;
    die "target exists: $path.bak" if(-f "$path.bak") and ($force==0);

    my($file, $dir, $suffix)=fileparse($path);
    $cmd=sprintf "/bin/cp -p %s %s.bak",$path,$path;
    printf "$cmd\n";
    my @results=`$cmd`;
    foreach my $res (@results) {
	printf STDERR "$res\n";
    }
}
