use strict;
use File::Copy;

my $ROOT_FOLDER="/usr/local/megha";
my $TARGET_FOLDER="${ROOT_FOLDER}/db/probe/data";
my $SOURCE_FOLDER="/home/meghadata";

if ((!-e "$ROOT_FOLDER/db")) {
  mkdir("$ROOT_FOLDER/db");
}
if ((!-e "$ROOT_FOLDER/db/probe")) {
  mkdir("$ROOT_FOLDER/db/probe");
}
if ((!-e "$ROOT_FOLDER/db/probe/data")) {
  mkdir("$ROOT_FOLDER/db/probe/data");
}

chdir($SOURCE_FOLDER);

my @dirs = <*-*-*-*-*>;

foreach my $dir (@dirs) {
  if (-d "$dir") {
    chdir($dir);
    print "---$dir---\n";
    my $listOfFiles=`ls -1 ListOfFiles*.txt 2> /dev/null`;
    my @files = split(/\n/, $listOfFiles);
    foreach my $file (@files) {
      print "--$file--\n";
      my $contents = "";
      open(FILE, "$file");
      while (<FILE>) {
        $contents .= $_;
      }
      close(FILE);
      my @dataFiles = split(/\n/, $contents);
      my $err = 0;
      foreach my $dataFile (@dataFiles) {
         print "***$dataFile****\n";
         if (!copy($dataFile, $TARGET_FOLDER)) {
           $err = 1;
           print "Error in copy: $!\n";
         }
      } 
      if (!$err) {
        copy($file, $TARGET_FOLDER) || die "Unable to copy: $!";
      }
      else {
        next;
      }

      # Now move these files to YYYYMMDD folder
      foreach my $dataFile (@dataFiles) {
        my ($year, $month, $day) = $dataFile =~ /(\d\d\d\d)(\d\d)(\d\d)_/;
        mkdir("$year$month$day");
        move($dataFile, "$year$month$day");
      }
      my ($year, $month, $day) = $file =~ /(\d\d\d\d)(\d\d)(\d\d)_/;
      mkdir("$year$month$day");
      move($file, "$year$month$day");
    }
    chdir("..");
  }
}


