
| Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/DivBasicF/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/DivBasicF/Item.pm |
package DivBasicF::Item;
use Filter::Util::Call;
sub DELIVER { 2 }
sub import {
my ($type) = @_;
filter_add(bless {});
}
#******************************************************************
sub filter {
my ($self) = @_;
my ($status);
$status = filter_read(99999999);
$_ = filter_parser($_) if ($status);
$status;
}
#******************************************************************
sub filter_parser {
my $code = shift;
my $text; my $o; my $text1; my $requs;
if ($code !~ /(^|\n\r?)package /) {
$code = "package autoitem\;\n\n" . $code;
}
if ($code !~ /sub +result/) {
$code =~ s/^\s*package +autoitem\;\s*//s;
$text = <<'TEXXT_ENDE';
package autoitem;
use strict;
use vars qw(@ISA $PKG);
#vvvvvvv DO NOT TOUCH THIS CODE. IT IS NEEDED FOR DYNAMIC INHERITANCE!! vvvvvvv
#
$PKG = __PACKAGE__; #
while ($PKG =~ s/^(.*)\:\:.*$/$1/) { $PKG = "$PKG"; #
$main::___TESTCASE___ =~ s/^(.*)\:\:.*$/$1/; #
eval("use $PKG"."::item"); last if(!$@); eval("use $PKG"); last if (!$@); #
} @ISA = ($PKG); #
#sub run { my $self = shift; $self->run0(__PACKAGE__,@_); } #
#
#AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
sub next_test {
my $self = shift;
my $o = shift;
return($self->next_test0($o));
}
#------------ EVALUATION: --------------------
sub result {
my $self = shift;
return(<<'TEXT_ENDE');
TEXXT_ENDE
$requs = {};
while ($code =~ s/(^|\n\r?)(\:.*?\:)( +.*?) *\n\r?/$1/s) {
$requs->{$2} = $2.$3;
}
$text1 = "";
foreach $o (":RESULT:",":REMARK:",":USER:",":ALLREQU:",":DUMPTIME:",sort keys %$requs) {
next if (!(exists($requs->{$o})));
$text1 = $text1 . $requs->{$o} ."\n";
delete ($requs->{$o});
}
$text = $text . $text1 . <<'TEXXT_ENDE';
TEXT_ENDE
}
#------------ PROGRAM CODE: (next jump: NONE) ------
sub log { <<'LOG_DATA' }
TEXXT_ENDE
$code = $text . $code . <<'TEXXT_ENDE';
LOG_DATA
sub dump_data { 'ID' }
1;
TEXXT_ENDE
}
$code =~ s/package autoitem\;/package $main::___TESTCASE___\;/;
return($code);
}
1;