#!/usr/bin/perl -w

use strict;

use File::Basename;

use constant OLDDIR => '/app/data/sale_report';
use constant NEWDIR => '/app/shared/sale_report';

open( FIND, "find " . OLDDIR . " -type f |" ) || die "$!";

while ( my $file = <FIND> ) {
    chomp $file;
    my $dest   = $file;
    my $olddir = OLDDIR;
    my $newdir = NEWDIR;
    $dest =~ s|$olddir|$newdir|g;

    my $cmd = "cp $file $dest";

    if ( !-e $dest || ( -M $dest > -M $file ) ) {
        system( "mkdir -p " . dirname($dest) );
        print "$cmd\n";
        system($cmd );
    }
}

close FIND;
