my $logfile = $log{file};
my $tail_cnt = $log{tail};
if($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)
- }
+ 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;
cluck $message
}
}
-
-
sub dumpENV{
foreach (keys(%ENV)){print $_,"=", "\'".$ENV{$_}."\'", "\n"}
}
$test -> nextCase();
#
+ $test -> case("Find path test for selecting children by certain name.",'10');
+
+ $node -> process( CNFParser->new(),q(
+<ListNodes< __IN_SHORTIFE__
+@@ _\
+1
+__/
+@@ __\
+2
+__/
+@@ __\
+3
+__/
+settings __\
+ attributes __\
+ A = 101
+ B =202
+ __~
+ __/
+__/
+>ListNodes>
+ ));
+ my $plist = $node -> node('ListNodes')->list();
+ $test->evaluate("ListNodes has three elemenet?", 3, scalar(@$plist));
+ $test->evaluate("ListNodes[0] is 1?", 1, @$plist[0]->val());
+ $test->evaluate("ListNodes[0] is 2?", 2, @$plist[1]->val());
+ $test->evaluate("ListNodes[0] is 3?", 3, @$plist[2]->val());
+
+ my $attrs = $node -> node('ListNodes/settings/attributes');
+ $test->isDefined("ListNodes/settings/attributes", $attrs);
+ $test->evaluate("attrs/A is 1?", 101, $attrs->{A});
+ $test->evaluate("attrs/B is 1?", 202, $attrs->{B});
+
#
$test->done();
#