Skip to content

Instantly share code, notes, and snippets.

@earnhardt3rd
Created June 19, 2023 14:03
Show Gist options
  • Select an option

  • Save earnhardt3rd/9696e091df2de0cb320a2b121104e914 to your computer and use it in GitHub Desktop.

Select an option

Save earnhardt3rd/9696e091df2de0cb320a2b121104e914 to your computer and use it in GitHub Desktop.
require 'getopts.pl';
Getopts('m:d:t');
my $MODE = uc($opt_m) || "";
my $DEBUG = $opt_d || 0;
if (defined $opt_t) { my %TEST = &_SYS();}
1;
sub _SYS {
my $input = shift || "";
print " _SYS($input)\n" if $DEBUG > 0;
if (uc($input) eq "NOW") {$input = &getDate() . "-" . &getTime();}
if (uc($input) eq "DT") {$input = &getDate();}
if (uc($input) eq "TM") {$input = &getTime();}
my $sysEnv = $SYS . $SLASH . "\.pdm_sys_env";
my %IGNORE_ENV;
my $sysFile = $SYS . $SLASH . "\.pdm_sys_files";
my %THOLDER;
if (uc($input) eq "SETUP") {
if (-f $sysEnv) {
%IGNORE_ENV=&readHASH_File($sysEnv,"=","FALSE","FALSE");
} else {
$IGNORE_ENV{"TODAY"}="NULL";
$IGNORE_ENV{"TODAY"}="NULL";
$IGNORE_ENV{"TIME"}="NULL";
$IGNORE_ENV{"HOURS"}="NULL";
$IGNORE_ENV{"MINS"}="NULL";
$IGNORE_ENV{"SECS"}="NULL";
$IGNORE_ENV{"HSECS"}="NULL";
$IGNORE_ENV{"USERDNSDOMAIN"}="NULL";
$IGNORE_ENV{"USERDOMAIN"}="NULL";
$IGNORE_ENV{"USERNAME"}="NULL";
$IGNORE_ENV{"USERPROFILE"}="NULL";
$IGNORE_ENV{"PWD"}="NULL";
}
%IGNORE_ENV = &_MANAGE_HASH_NEW(
$sysEnv # File to store hash data
,"IGNORE SYSTEM ENVIRONMENT" # Hash Key Title
,"ENV" # Hash Key Mask
,"," # Hash Key Seperator
,"" # Hash Key Case ( UPPER, LOWER ) DEFAULT TO "" ~ NATURAL AS ENTERED
,"NO VALUE NEEDED" # Hash Val Title
,"NULL" # Hash Val Mask
,"," # Hash Val Seperator
,"" # Hash Val Case ( UPPER, LOWER ) DEFAULT TO "" ~ NATURAL AS ENTERED
,"" # Hash Values
,"=" # Hash Seperator
,"FALSE" # Hash Ignore Case (TRUE SETS ALL VALUES TO UPPER)
,"FALSE" # Hash Pack
,%IGNORE_ENV # Hash
);
#%IGNORE_ENV = &_MANAGE_HASH($sysEnv,"IGNORE SYSTEM ENVIRONMENT","","NO VALUE NEEDED","","","=","","",%IGNORE_ENV);
foreach my $ekey(sort keys %IGNORE_ENV) {
print " E:$ekey == $IGNORE_ENV{$ekey}\n" if $DEBUG > 50;
}
if (-f $sysFile) {
%THOLDER=&readHASH_File($sysFile,"=","FALSE","FALSE");
} else {
if (scalar(keys %APPS)>0) {
if (exists($APPS{"USD"})) {
$THOLDER{"NXROOT"} = "env,his";
$THOLDER{"NXROOT/pdmconf"}="tpl,i,last,update";
}
}
}
%THOLDER = &_MANAGE_HASH_NEW(
$sysFile # File to store hash data
,"Monitor Folders" # Hash Key Title
,"FOLDER" # Hash Key Mask
,"," # Hash Key Seperator
,"" # Hash Key Case ( UPPER, LOWER ) DEFAULT TO "" ~ NATURAL AS ENTERED
,"Folder Fragments" # Hash Val Title
,"Frag" # Hash Val Mask
,"," # Hash Val Seperator
,"" # Hash Val Case ( UPPER, LOWER ) DEFAULT TO "" ~ NATURAL AS ENTERED
,"" # Hash Values
,"=" # Hash Seperator
,"FALSE" # Hash Ignore Case (TRUE SETS ALL VALUES TO UPPER)
,"FALSE" # Hash Pack
,%THOLDER # Hash
);
#_MANAGE_HASH(<fullPath2File>,<HashKeyTitle>,<HashKeyCase>,<HashValueTitle>,<HaseValueCase>,<HASH_VALUES>,<SEP>,<CASE>,<PACK>,<HASH>)
#%THOLDER = &_MANAGE_HASH($sysFile,"Monitor Folders","","Folder Fragments","","","=","","",%THOLDER);
foreach my $tkey(sort keys %THOLDER) {
print " T:$tkey == $THOLDER{$tkey}\n" if $DEBUG > 50;
}
return;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment