X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FHTML%2FString%2FValue.pm;h=97c80faa5054a71eeea69f44f694b9a73f20ba23;hb=5963e05e592c11b68209decb62a44bfb1375a7ab;hp=99a12847785af917f6b4011e187534c697f71782;hpb=586054e05c7ac2fcdb3b7a27442f8b1586c64105;p=scpubgit%2FHTML-String.git diff --git a/lib/HTML/String/Value.pm b/lib/HTML/String/Value.pm index 99a1284..97c80fa 100644 --- a/lib/HTML/String/Value.pm +++ b/lib/HTML/String/Value.pm @@ -5,40 +5,12 @@ use UNIVERSAL::ref; use Safe::Isa; use Data::Munge; -sub op_factory { - my ($op) = @_; - - return eval q|sub { - my ($self, $str) = @_; - - if ( $str->$_isa(__PACKAGE__) ) { - return $self->unescaped_string | . $op . q| $str->unescaped_string; - } - else { - return $self->unescaped_string | . $op . q| $str; - } - }|; -} - use overload '""' => 'escaped_string', '.' => 'dot', '.=' => 'dot_equals', '=' => 'clone', - 'cmp' => op_factory('cmp'), - 'eq' => op_factory('eq'), - '<=>' => op_factory('<=>'), - '==' => op_factory('=='), - '%' => op_factory('%'), - '+' => op_factory('+'), - '-' => op_factory('-'), - '*' => op_factory('*'), - '/' => op_factory('/'), - '**' => op_factory('**'), - '>>' => op_factory('>>'), - '<<' => op_factory('<<'), - fallback => 1, ;