I have a script where I open a directory in which I have n number of directories and I need to load all files in these directories into a hash. So I am trying to name the hash with the name of the directory which is in a variable.
something like this
if ( !opendir( DIR, "$myDirectory"))
{
&Util::Status($StatusFile, "Couldn't open $myDirectory");
exit 1;
}
@Dirs = readdir( DIR );
closedir( DIR );
foreach $tgs (@Dirs)
{
$TGSet = "${myDirectory}/$tgs";
$DataDir = "${TGSet}/DW_DataToLoad";
next if $tgs =~ /^\.\.?$/;
if ( -f "${DataDir}/ready_for_loading")
{
&Lock_File($StatusFile, $TGSet);
unlink ( "${DataDir}/ready_for_loading");
$DW_file_GL = "${myDirectory}/DW_input_GL";
$DW_file_nonGL = "${myDirectory}/DW_input_nonGL";
&PrepareDWFile( $StatusFile, $DW_file_GL, GL);
&prepareDWFile( $StatusFile, $DW_file_nonGL, nonGL);
if ( ! opendir( DATA, "$DataDir"))
{
&Util::Status($StatusFile, "Couldn't open $DataDir");
exit 1;
}
@tgdir = readdir( DATA);
foreach $task (@tgdir)
{
next if $task =~ /^\.\.?$/;
($task_name) = $task =~ m#(.*)\.txt$#i;
if ( ! open (FILE, "$task"))
{
&Util::Status($StatusFile, "Error: Couldn't open $task_
+name file for reading");
exit 1;
}
@{$task_name} = <FILE>;
}
$TGS_Value_$tgs{VAR} = \@VAR;
$TGS_Value_$tgs{STR} = \@STR;
$TGS_Value_$tgs{PER} = \@PER;
$TGS_Value_$tgs{MKT} = \@MKT;
$TGS_Value_$tgs{INS} = \@INS;
$TGS_Value_$tgs{GL} = \@GL;
yet to complete it
Please help |