Peter, I don't use Perl, but it seems to me that you are assigning $doc_text to $tmp and thus throwing away the new SWBuf you created. From then on, $tmp and $doc_text will refer to the same thing. The string they contain will never be different.
God bless. Mark Morgan On Fri, Sep 4, 2015 at 6:12 AM, Peter von Kaehne <ref...@gmx.net> wrote: > I am trying to take a string, pack it into a SWBuf, take a copy of it > into another SWBuf, run the copy through a stripfilter and then compare > the string content of the outcome with the initial string: > > > my $tmp = new Sword::SWBuf(); > $tmp=$doc_text; # where $doc_text is a SWBuf, obtained earlier. > $manager->filterText($filter, $tmp); > > if ($tmp->c_str() ne $doc_text->c_str()) { > print "GlobalOptionFilter=".%diacritics{$filter}."\n"; > } > else { print "NotPresent=".%diacritics{$filter}."\n"; > } > > For reasons which are beyond me, it always runs down the "else" path. > > Despite the string in $doc_text having plenty of the stuff which I want > to filter. > > Despite if I strew liberally print statements the two strings clearly > being different, i.e. "unfiltered" vs "filtered" > > Despite if I compare by hand two strings the "ne" operator doing its > job just fine. "a" ne "b" or indeed "unfiltered" ne "filtered" > > My forehead is bloodied by the frequency I have hit it against the > wall. > > Suggestions? > > Thanks > > Peter > > _______________________________________________ > sword-devel mailing list: sword-devel@crosswire.org > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page >
_______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page