Кто писал на Perl приложение для умного дома, а то у меня форточка не закрывается?
#print STDERR "=$idBegin=$idEnd\n";
close (DBFMT);
# $debug =1;
$removeTag= ($opt_mode eq "removeonly") || ($opt_mode eq "fullfmt");
$ignoreTag= ($opt_mode eq "ignoreonly") || ($opt_mode eq "fullfmt");
open(DB, $opt_database) || die "can't open database\n";
while () {
print STDERR if ($debug);
while (/(]+>)|(]+>)|([^>/o) && $title{$1}) {
# beginning of title
$inTITLE=1;
} elsif (($closeTag=~/\s]+)>/o) && $title{$1}) {
$inTITLE=0;
} elsif ($inIGNORE && ($closeTag=~/\s]+)>/o) && ($1 eq $ignoreTagName )) {
print STDERR "finding ignore closing tag: $closeTag\n" if ($debug);
$inIGNORE=0;
$ignoreTagName="";
$ignoredTxt .= $closeTag;
} elsif ($inIGNORE && (($beginTag =~ /\s])/o) || ($closeTag=~ /\s]+)>/o))) {
# seeing tags within ignored fields, ignore them.
$ignoredTxt .= $beginTag if ($beginTag);
$ignoredTxt .= $closeTag if ($closeTag);
} elsif ($ignoreTag && ($beginTag=~/\s]+)/o) && $ignore{$1}) {
# seeing new begining tag specified as ignored
$inIGNORE=1;
print STDERR "finding ignore begin tag: $beginTag\n" if ($debug);
$ignoreTagName=$1;
$ignoredTxt .= "\n$beginTag";
} elsif ($ignoreTag &&($closeTag=~/\s]+)>/o) && $ignore{$1}) {
$inIGNORE=0;
print STDERR "Shouldn't print this! something is wrong! $closeTag\n";
$ignoredTxt .= "$closeTag\n";
} elsif ($removeTag && $closeTag) {
$skippedTags .=" $closeTag\n";
} elsif ( $removeTag && $beginTag) {
$skippedTags .=" $beginTag\n";
} elsif ($closeTag) {
$docBody .= "$closeTag\n";
} elsif ($beginTag) {
$docBody .= "$beginTag\n";
} else { # in contents!
if ($inTITLE) {
$docTitle .= "$content\n";
} elsif ($inDOCNO) {
$docID = $content;
} elsif (!$inIGNORE) {
$docBody .= "$content";
} else {
$ignoredTxt .= "$content\n";
}
}
}
}
open(LOG, ">$opt_database.ignore") || die "can't open log file\n";
print LOG "==== Skipped tags ===\n$skippedTags\n";
print LOG "==== Skipped contents ===\n$ignoredTxt\n";
close (LOG);