DEFAULT_TIME_ZONE => 'UTC'
};
-# CNFDateTime instances begin with now, can be epoch zero that is $NULL, or _toCNFDateParsed(), they are never new.
-# epoch attibute if not been given will be setting it to now or current time and date.
+# CNFDateTime instances begin with now, can be epoch zero that is $NULL, or _toCNFDate() parsed, they are never new.
+# epoch attribute if not been given will be setting it to now or current time and date.
# TZ attribute if not given will use DEFAULT_TIME_ZONE. Avoid to pass only fat arrow type arguments.
# my $now = CNFDateTime->now(TZ=>$my_zoneh); # <- wrong translates to array of arguments and $my_zone might be undef.
# my $now = CNFDateTime->now({TZ=>$my_zone}); # <- proper way set with a hash even if $my_zone might be undef.
return $self->{long} if exists $self->{long};
$self->{long} = $self->datetime() -> strftime(FORMAT_SCHLONG)
}
-## Force the daylights out of this instance during initialisation, usefull for debugging.
+## Force the daylights out of this instance during initialization, useful for debugging.
sub stamp($self){
$self -> {timestamp} = $self->datetime() -> strftime(FORMAT_NANO);
return $self;
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source : https://github.com/wbudic/PerlCNF.git
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source : https://github.com/wbudic/PerlCNF.git
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
# Meta flags that can be set for some CNF instructions.
-# Programed by : Will Budic
+# Programed by : Will Budić
# Notice - This source file is copied and usually placed in a local directory, outside of its project.
-# So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+# So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
# Please leave source of origin in this file for future references.
# Source of Origin : https://github.com/wbudic/PerlCNF.git
# Documentation : Specifications_For_CNF_ReadMe.md
}
}
-1;
\ No newline at end of file
+1;
+
+=begin copyright
+Programed by : Will Budić
+EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
+Documentation : Specifications_For_CNF_ReadMe.md
+ This source file is copied and usually placed in a local directory, outside of its repository project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
+ Please leave source of origin in this file for future references.
+Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
+=cut copyright
\ No newline at end of file
$ret = $ret -> {$name}
}
}
- return !$ret?\@arr:$ret;
+ return !$ret?\@arr: ref($ret) eq 'SCALAR' ? $$ret : $ret;
}
##
# Convinence method to find lastChild or all chidren by a certain name.
if(@attr>1){
my $n = $attr[0];
my $v = $attr[1];
- if($v =~ /[<\[]\*[<\[](.*)[]>\]]\*[>\]]/){
+ if($v =~ m/[<\[]\*[<\[](.*)[]>\]]\*[>\]]/){
$v = $self-> obtainLink($parser, $1)
- } $v =~ m/^(['"]).*(['"])$/g;
+ }else{
+ $v =~ m/^(['"]).*(['"])$/g;
$v =~ s/^$1|$2$//g if($1 && $2 && $1 eq $2);
+ }
$self->{$n} = $v;
next;
}else{
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source : https://github.com/wbudic/PerlCNF.git
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
#!/usr/bin/perl -w
#
-# Programed by: Will Budic
+# Programed by: Will Budić
# Open Source License -> https://choosealicense.com/licenses/isc/
#
package CNFParser;
#!/usr/bin/perl -w
#
-# Programed by: Will Budic
+# Programed by: Will Budić
# Open Source License -> https://choosealicense.com/licenses/isc/
#
package CNFParser;
require CNFDateTime;
# Do not remove the following no critic, no security or object issues possible.
-# We can use perls default behaviour on return.
+# We can use perls default behavior on return.
##no critic qw(Subroutines::RequireFinalReturn)
##no critic Perl::Critic::Policy::ControlStructures::ProhibitMutatingListFunctions
-use constant VERSION => '3.3.1';
-use constant APPSET => 'APP_SETTINGS';
+use constant VERSION => '3.3.2';
+use constant APP_STS => 'APP_SETTINGS';
our @files;
our %lists;
our %properties;
###
# Create a new CNFParser instance.
-# $path - Path to some .cnf_file file, to parse, not compsuluory to add now? Make undef.
+# $path - Path to some .cnf_file file, to parse, not compulsory to add now? Make undef.
# $attrs - is reference to hash of constances and settings to dynamically employ.
# $del_keys - is a reference to an array of constance attributes to dynamically remove.
sub new { my ($class, $path, $attrs, $del_keys, $self) = @_;
ANONS_ARE_PUBLIC=> 1, # Anon's are shared and global for all of instances of this object, by default.
ENABLE_WARNINGS => 1, # Disable this one, and you will stare into the void, about errors or operations skipped.
STRICT => 1, # Enable/Disable strict processing to FATAL on errors, this throws and halts parsing on errors.
- HAS_EXTENSIONS => 0, # Enable/Disable extension of custom instructions. These is disabled by default and ingored.
- DEBUG => 0, # Not internally used by the parser, but possible a convienince bypass setting for code using it.
+ HAS_EXTENSIONS => 0, # Enable/Disable extension of custom instructions. These is disabled by default and ignored.
+ DEBUG => 0, # Not internally used by the parser, but possible a convenience bypass setting for code using it.
CNF_CONTENT => "", # Origin of the script, this will be set by the parser, usually the path of a script file or is direct content.
RUN_PROCESSORS => 1, # When enabled post parse processors are run, are these outside of the scope of the parsers executions.
};
}
###
# Check a value if it is CNFPerl boolean true.
-# For isFalse just negate check with not, as undef is concidered false or 0.
+# For isFalse just negate check with not, as undef is considered false or 0.
##
sub _isTrue{
my $value = shift;
# Collections are global, Reason for this is that any number of subsequent files parsed,
# might contain properties that overwrite previous existing ones.
# Or require ones that don't include, and expecting them to be there.
-# This overwritting can be erronous, but also is not expected to be very common to happen.
+# This overwriting can be erroneous, but also is not expected to be very common to happen.
# Following method, provides direct access to the properties, this method shouldn't be used in general.
sub collections {\%properties}
return property(@_);
}
###
-# Collection now returns the contained type dereferenced and is concidered a property.
+# Collection now returns the contained type dereferenced and is considered a property.
# Make sure you use the appropriate Perl type on the receiving end.
# Note, if properties contain any scalar key row, it sure hasn't been set by this parser.
#
if(exists($properties{$name})){
my $ret = $properties{$name};
my $ref = ref($ret);
- if($ref eq 'ARRAY'){
+ if($ref eq 'REF'){
+ #This should ideally return and dereferenced to an reference.
+ return $$ret
+ }elsif($ref eq 'ARRAY'){
return @{$ret}
}elsif($ref eq 'PropertyValueStyle'){
- return ${$ret->{plugin}} if $ret->{instructor} eq APPSET;
- return $ret;
- }
- else{
+ return ${$ret->{plugin}} if $ret->{instructor} eq APP_STS;
+ return $ret
+ }elsif($ref eq 'SCALAR'){
+ return $ret
+ }else{
return %{$ret}
}
}
- return %properties{$name}
+ return
}
sub data {return shift->{'__DATA__'}}
elsif($t eq 'MACRO'){
$instructs{$e}=$v;
}
- elsif($t eq APPSET){
- $self->instructPlugin(InstructedDataItem -> new($e, APPSET, $v));
+ elsif($t eq APP_STS){
+ $self->instructPlugin(InstructedDataItem -> new($e, APP_STS, $v));
}
elsif(exists $instructors{$t}){
if(not $instructors{$t}->instruct($e, $v) && $self->{STRICT}){
$self->{CNF_CONTENT} = 'script'
}
}
- $content =~ m/^\!(CNF(\d+\.\d+))/;
- my $CNF_VER = $1;
+ $content =~ m/^\!(CNF\s*(\d+\.\d+))/;
+ my $CNF_VER = $1; my $CNF_VER_SRC = $2;
if (not $CNF_VER){
$CNF_VER="Undefined!"
- }elsif(VERSION()<$2){
+ }elsif(VERSION =~ m/^(\d+\.\d+)/ && $CNF_VER_SRC > $1){
$self->warn("CNF Script version is newer, are you using the latest parser version $CNF_VER?");
}
$self->{CNF_VERSION} = $CNF_VER;
}
}else{
$v =~ s/\s*>$//;
+ if(!$t){
+ $v =~ m/([\w ]*)\s+(.*)/gms;
+ $t = $1;
+ $v = $2;
+ }
$ANONS->{$t} = $v;
}
}else{
- #vars are e-element,t-token or instruction,v- for value, vv -array of the lot.
+ # Vars are e-element,t-token or instruction,v- for value, vv -array of the lot.
my ($e,$t,$v,@vv);
-
# Check if very old format and don't parse the data for old code compatibility to (still) do it.
# This is interesting, as a newer format file is expected to use the DATA instruction and final data specified script rules.
if($CNF_VER eq 'CNF2.2' && $tag =~ m/(\w+)\s*(<\d+>\s)\s*(.*\n)/mg){#It is old DATA format annon
$tag =~ m/\s*([@%\$\.\/\w]+)\s* # The name.
([ <>\n]) # begin or close of instruction, where '\n' mark in script as instruction less.
([^<^>^^\n]+) # instruction or value of anything
- ([<>\n]?) # close mark for instuction or is less if \n encountered before.
+ ([<>\n]?) # close mark for instruction or is less if \n encountered before.
(.*) # actual value is the rest.
- (>$)* # capture above value up to here from buffer, i.e. if comming from a >>> tag.
+ (>$)* # capture above value up to here from buffer, i.e. if coming from a >>> tag.
/gmxs; ###############################################################################
$e =$1;
$value =~ s/\Q$find\E/$r/g;
}
}
- $hsh{$name}=$value; $self->log("macro $t.$name->$value\n") if $self->{DEBUG}
+ $hsh{$name}=$value; $self->log("macro $t.$name->$value") if $self->{DEBUG}
}
}
$properties{$t}=\%hsh;
#
###
-# Setup and pass to pluging CNF functionality.
+# Setup and pass to plugin CNF functionality.
# @TODO Currently Under development.
###
sub doPlugin {
my $pck = $plugin->{package};
my $prp = $plugin->{property};
my $sub = $plugin->{subroutine};
- if($instructor eq APPSET){
- $pck = 'ClassicAppSettings' if ! $pck;
+ if($instructor eq APP_STS){
+ $pck = 'ClassicAPP_STStings' if ! $pck;
## no critic (RequireBarewordIncludes)
require "$pck.pm";
my $obj = $pck -> new($plugin);
}
$buffer .= ' 'x$spc. $key . " = $val\n";
}
- $buffer .= ">>";
+ $buffer .= ">>>";
return $buffer if !$handle;
print $handle $buffer;
return 1
$message = "$type $message" if $isWarning;
if($message =~ /^ERROR/ || ($isWarning && $self->{ENABLE_WARNINGS})){
+ $message =~ s/(\s+line\s)(\d+)\.*\s+/:$2\n/gm;
warn $time . " " .$message;
}
elsif(%log && $log{console}){
print $time . " " .$message ."\n"
}
if(%log && _isTrue($log{enabled}) && $message){
+ my $dir = $log{directory}; $dir = '.' if not $dir; $dir .= '/' if $dir !~ /\/$/;
my $logfile = $log{file};
my $tail_cnt = $log{tail};
if($logfile){
- open (my $fh, ">>", $logfile) or die $!;
- print $fh $time . " - " . $message ."\n";
- close $fh;
- if($tail_cnt>0 && !$LOG_TRIM_SUB){
- $fh = File::ReadBackwards->new($logfile) or die $!;
- if($fh->{lines}>$tail_cnt){
- $LOG_TRIM_SUB = sub {
- my $fh = File::ReadBackwards->new($logfile) or die $!;
- my @buffer; $buffer[@buffer] = $fh->readline() for (1..$tail_cnt);
- open (my $fhTemp, ">", "/tmp/$logfile") or die $!;
- print $fhTemp $_ foreach (reverse @buffer);
- close $fhTemp;
- move("/tmp/$logfile",$logfile)
- }
- }
+ mkdir $dir if not ( -e $dir and -d $dir);
+ open (my $fh, ">>", $dir.$logfile) or die $!;
+ print $fh $time . " - " . $message ."\n";
+ close $fh;
+ if($tail_cnt>0 && !$LOG_TRIM_SUB){
+ $fh = File::ReadBackwards->new($dir.$logfile) or die $!;
+ if($fh->{lines}>$tail_cnt){
+ $LOG_TRIM_SUB = sub {
+ my $fh = File::ReadBackwards->new($dir.$logfile) or die $!;
+ my @buffer; $buffer[@buffer] = $fh->readline() for (1..$tail_cnt);
+ open (my $fhTemp, ">", "/tmp/$logfile") or die $!;
+ foreach my $line(reverse @buffer){print $fhTemp $line if $line}
+ close $fhTemp;
+ move("/tmp/$logfile",$dir.$logfile)
}
+ }
+ }
}
}
return $time . " " .$message;
return;
}
##
-# Conviently ribs an cnf file for an pl source file to be next too in marriage.
-# @$const - Dynamic instance assaignable hash with constances, optional can be undef.
+# Conveniently ribs an cnf file for an pl source file to be next too in marriage.
+# Ribs means the config file is same name next to it.
+# @$const - Dynamic instance assignable hash with constances, optional can be undef.
# @$file - Path to CNF file if missing will be created.
# @return a configuration instance per script usually assigned.
##
sub _fetchScriptStat{
my $cnf_file = shift;
my @stat = stat($cnf_file);
- open(my $fh, "<:perlio", $cnf_file ) or die "Can't open $cnf_file -> $!"; close $fh;
+ #open(my $fh, "<:perlio", $cnf_file ) or die "Can't open $cnf_file -> $!"; close $fh;
return \@stat;
}
}
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source : https://github.com/wbudic/PerlCNF.git
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source : https://github.com/wbudic/PerlCNF.git
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
# SQL Processing part for the Configuration Network File Format.
-# Programed by : Will Budic
+# Programed by : Will Budić
# Source Origin : https://github.com/wbudic/PerlCNF.git
# Open Source License -> https://choosealicense.com/licenses/isc/
#
}
-1;
\ No newline at end of file
+1;
+=begin copyright
+Programed by : Will Budić
+EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
+Documentation : Specifications_For_CNF_ReadMe.md
+ This source file is copied and usually placed in a local directory, outside of its repository project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
+ Please leave source of origin in this file for future references.
+Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
+=cut copyright
\ No newline at end of file
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
Source : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
Source : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
Source : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
use Scalar::Util qw(looks_like_number);
require CNFDateTime;
+require CNFMeta;
use constant VERSION => '1.1';
my ($isSQLite,$dsn)=(0,());
my $idT = CNFMeta::_deRefArray($header[$MHDR{ID_TYPE}]);
###
- # Following is rare to see in code, my (wbudic) forward override conditional mapping algorithm,
+ # Following is rare to see in code, my (wBudić) forward override conditional mapping algorithm,
# as actual data @row length could be larger to the relative column map, of what we are inserting.
# I know, it looks like a unlocking a magick riddle. It indexes based on the insert statment.
#
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source : https://github.com/wbudic/PerlCNF.git
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
-Source : https://github.com/wbudic/PerlCNF.git
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
Source : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
1;
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut scrap
=begin copyright
-Programed by : Will Budic
+Programed by : Will Budić
EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
Source : https://github.com/wbudic/PerlCNF.git
Documentation : Specifications_For_CNF_ReadMe.md
This source file is copied and usually placed in a local directory, outside of its repository project.
- So it could not be the actual or current version, can vary or has been modiefied for what ever purpose in another project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
Please leave source of origin in this file for future references.
Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
=cut copyright
\ No newline at end of file
#
# Web interaction, reusable tri state of configuration concerns, set of utilities.
#
-# Programed by: Will Budic
+# Programed by: Will Budić
# Open Source License -> https://choosealicense.com/licenses/isc/
#
package Settings;
/;
}
-1;
\ No newline at end of file
+1;
+=begin copyright
+Programed by : Will Budić
+EContactHash : 990MWWLWM8C2MI8K (https://github.com/wbudic/EContactHash.md)
+Source : git clone git://lifelog.hopto.org/PerlCNF
+ : https://github.com/wbudic/PerlCNF.git
+Documentation : Specifications_For_CNF_ReadMe.md
+ This source file is copied and usually placed in a local directory, outside of its repository project.
+ So it could not be the actual or current version, can vary or has been modified for what ever purpose in another project.
+ Please leave source of origin in this file for future references.
+Open Source Code License -> https://github.com/wbudic/PerlCNF/blob/master/ISC_License.md
+=cut copyright
\ No newline at end of file
# Test Manager to make test case source code more readable and organised.
# This is initial version, not supporting fall through and multiple test files and cases.
#
-# Programed by: Will Budic
+# Programed by: Will Budić
# Open Source License -> https://choosealicense.com/licenses/isc/
#
package TestManager;
my $test = TestManager -> new($0);
my $cnf;
+
try{
###
# Test instance creation.
$test->isDefined('node/@@/p1/b', $val);
$test->evaluate('node/@@/p1/b', $val, '2' );
-
-
#
$test->done();
#
-[{"identifier":{"id":"wbudic.perlcnf"},"version":"0.0.2","location":{"$mid":1,"path":"/home/will/dev/PerlCNF/vscode_local_extensions/wbudic.perlcnf-0.0.2","scheme":"file"},"relativeLocation":"wbudic.perlcnf-0.0.2"},{"identifier":{"id":"richterger.perl","uuid":"effbf376-b9ad-4395-9b0e-8cf0537fbf04"},"version":"2.6.1","location":{"$mid":1,"fsPath":"/home/will/dev/PerlCNF/vscode_local_extensions/richterger.perl-2.6.1","path":"/home/will/dev/PerlCNF/vscode_local_extensions/richterger.perl-2.6.1","scheme":"file"},"relativeLocation":"richterger.perl-2.6.1","metadata":{"id":"effbf376-b9ad-4395-9b0e-8cf0537fbf04","publisherId":"f5ad92f6-de6c-4381-a399-f8a7201ceb52","publisherDisplayName":"Gerald Richter","targetPlatform":"undefined","isApplicationScoped":false,"updated":true,"isPreReleaseVersion":false,"installedTimestamp":1690363217626,"preRelease":false}}]
\ No newline at end of file
+[{"identifier":{"id":"wbudic.perlcnf"},"version":"0.0.2","location":{"$mid":1,"path":"/home/will/dev_new/PerlCNF/vscode_local_extensions/wbudic.perlcnf-0.0.2","scheme":"file"},"relativeLocation":"wbudic.perlcnf-0.0.2","metadata":{"isApplicationScoped":true}}