OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
bin
/
etl_odbc
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📄
-d
10 bytes
02/03/2023 07:34:13 AM
rw-r--r--
📁
..
-
02/03/2023 08:06:37 AM
rwxr-xr-x
📄
config.pl
7.61 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
cross2normal.pl
3.71 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
dataextract.sh
2.51 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
etl.pl
5.42 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
etlproc
9.99 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
func.pl
4.01 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
globvar.sh
127 bytes
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
initetl.pl
1.88 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
libawk.awk
3.07 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
makeXtab2NormalExcel.pl
5.73 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
process.pl
6.91 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
process_changed.pl
5.69 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
readwrite.pl
4.16 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
rxcsv.pl
7.94 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
rxdb.pl
11.06 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
rxfile.pl
4.68 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
rxsalesforce.pl
3.5 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
rxxml.pl
13.83 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
rxxml2.pl
4.18 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
sendmail.pl
1.06 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
sourcequery.pl
4.18 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
sql.pl
23.98 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
store.pl
7.97 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
tags
13.14 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
task.pl
33.48 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📁
test
-
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
userfunc.pl
5.05 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
valid.pl
3.64 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
workflow.pl
3.94 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
📄
xform.pl
2.62 KB
02/03/2023 07:34:13 AM
rwxr-xr-x
Editing: valid.pl
Close
#!/usr/bin/perl #use warnings; sub validate_input{ my $indata = shift; my $sourcecollist = shift; my $validrule = shift; my $i = 0; my %validruledetails = %{$validrule}; if ($Queryout eq $MAX){ printlog($MAX, "---------------------------------------- Validating ----------------------------------------------"); printlog($MAX, "DATA:@$indata"); printlog($MAX, "SCOL:@$sourcecollist"); foreach $v(keys %validruledetails){ printlog($MAX, "$v @{$validruledetails{$v}}"); } foreach my $cl(@$sourcecollist){ printlog($MAX, "KEY=$cl"); printlog($MAX, "Input Data = @$indata"); printlog($MAX, "Surce Cols = @$sourcecollist"); } } $i = 0; foreach my $sourcecol(@$sourcecollist){ if ((not defined @{$validruledetails{$sourcecol}}) || (@{$validruledetails{$sourcecol}}[6] eq 'N')){ $i++; next; } # printlog(@{$validruledetails{$sourcecol}}, "<<<<<<<<<<$sourcecol<<<<<<<"); # next if( @{$validruledetails{$sourcecol}}[6] eq 'N'); my $validationrule = ''; $validationrule = @{$validruledetails{$sourcecol}}[0]; my $reject_use = @{$validruledetails{$sourcecol}}[4] ; printlog($MAX, "KEY=$i and VAL=[[$validationrule]] @$sourcecollist[$i] @$indata[$i] <$reject_use"); if($validationrule ne ''){ printlog($MAX, "replacing $sourcecol with @$indata[$i]"); $validationrule =~ s/$sourcecol/@$indata[$i]/gsi; my $evl = eval($validationrule); printlog($MAX, "Validating : $validationrule Default Val = > @{$validruledetails{$sourcecol}}[1]"); if((not defined $evl) or (length($evl) < 1)){ if($reject_use eq 'R'){ printlog($MAX, "Rule FAILEDDDDDDDDDDDDDDDDDDDDDDDDDDDD: IGNORE ROW"); return 0; } else{ my $useval = eval(@{$validruledetails{$sourcecol}}[1]); printlog($INFO, "Rule FAILEDDDDDDDDDDDD: USEING DEFAULT VALUE : $useval"); @$indata[$i] = $useval; } } else{ printlog($INFO, "Rule Passed"); } } else{ printlog($MAX, "@$sourcecollist[$i] - [NO RULE]"); } $i++; } $i = 0; if ($Queryout eq $MAX){ foreach my $xcol(@$sourcecollist){ printlog($MAX, "COLNAME =$xcol "); #printf("[%-24s]", $xcol); printlog($MAX, "RULEEEEEE = {"); if(defined $$validrule{$xcol}){ printf("%-24s", $$validrule{$xcol}); } else{ printlog("UNDEFINED"); } printlog($MAX, "}DATA = ["); if(defined @$indata[$i]){ printf("%-25s", @$indata[$i]); } else{ printlog("UNDEF DATA"); } printlog($MAX, "]"); $i++; } } return 1; } ######################################################################################################### ######## W R I T E - A L L - U S E R - D E F I N E D - F U N C T I O N S - B E L O W - T H I S ######## ######################################################################################################### sub isexpr{ my $in = shift; my ($l, $op, $r) = $in =~ m/(\d+)\s+([\>\<\=\!]+)\s+(\d+)/gsi; $l = 0 + $l; $r = 0 + $r; return eval("$l $op $r"); #$res = eval("$l $op $r"); printlog($MAX, "IN=$in~~~~~~~~~~$l~~~~~~~~~~~~~~~~$op~~~~~~~~~~~~$r~~~~~~~~ISEXPR RET $res"); } sub isnumber{ my $in = shift; if($in =~ m/^[0-9\.\-\+]+$/g){ return 1; } return undef; } sub isdate{ my $indate = shift; #if($indate =~ /[12][09][0-9]{2}\-[0-3][0-9]\-[0-3][0-9]/g){ # ; # } return 1; } sub isdata{ printlog($MAX, "RECVD IN TO VALID PL: @_"); return 0 if((not defined $_[0]) or ($_[0] eq '')); return 1; } sub isregex{ return 1; } sub int{ return $_[0] + 0; } sub linecontains{ my ($srch) = @_; $dataline = $G_inputDataLine; printlog($MAX, "Looking {$srch} into {$dataline}"); return '1' if($dataline =~ $srch); printlog($MAX, "FAILED : NOT FOUND &&&&&&"); return ''; } sub goo{ my ($a, $b, $c ) = @_; return $b.$c."=".$a; } 1;