use perl modules up front
authorJoey Hess <joey@kodama.kitenet.net>
Mon, 17 Nov 2008 19:19:15 +0000 (14:19 -0500)
committerJoey Hess <joey@kodama.kitenet.net>
Mon, 17 Nov 2008 19:19:15 +0000 (14:19 -0500)
The old code actually did the same thing, just obfuscated -- since the eval
use wasn't quoted, it used the modules on load. Thus, the error (not to
mentioned the return) was bypassed, and it just failed on load.

But that seems like the right thing to do, really, so just made it clearer
that's what happens.

IkiWiki/Plugin/htmlbalance.pm

index 667d73b6c5e90af016b7ed65cdc76a0de309a9c9..8f43d5daca4fa5b9561560f039eba1d1f5f22bcd 100644 (file)
@@ -10,6 +10,8 @@ package IkiWiki::Plugin::htmlbalance;
 use warnings;
 use strict;
 use IkiWiki 2.00;
+use HTML::TreeBuilder;
+use XML::Atom::Util qw(encode_xml);
 
 sub import { #{{{
        hook(type => "getsetup", id => "htmlbalance", call => \&getsetup);
@@ -28,16 +30,6 @@ sub sanitize (@) { #{{{
        my %params=@_;
        my $ret = '';
 
-       eval {
-               use HTML::TreeBuilder;
-               use XML::Atom::Util qw(encode_xml);
-       };
-
-       if ($@) {
-               error($@);
-               return $params{content};
-       }
-
        my $tree = HTML::TreeBuilder->new_from_content($params{content});
        my @nodes = $tree->disembowel();
        foreach my $node (@nodes) {