X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FHTML-Zoom.git;a=blobdiff_plain;f=lib%2FHTML%2FZoom%2FFilterBuilder.pm;fp=lib%2FHTML%2FZoom%2FFilterBuilder.pm;h=7bc940d8272c1047eafa0266838496890b783646;hp=ce9244d54c4f3e6f900faa46cc5a7cc89d0d1ff8;hb=31200f185a1ddad613e8ca3f956559de58a275e3;hpb=f95841752748ad1de7b0859eca1d37c8b5f46758 diff --git a/lib/HTML/Zoom/FilterBuilder.pm b/lib/HTML/Zoom/FilterBuilder.pm index ce9244d..7bc940d 100644 --- a/lib/HTML/Zoom/FilterBuilder.pm +++ b/lib/HTML/Zoom/FilterBuilder.pm @@ -86,15 +86,14 @@ sub remove_from_attribute { my $self = shift; my $attr = $self->_parse_attribute_args(@_); sub { - my $a = (my $evt = $_[0])->{attrs}; - my @kupd = grep {exists $a->{$_}} keys %$attr; +{ %$evt, raw => undef, raw_attrs => undef, attrs => { %$a, #TODO needs to support multiple removes map { my $tar = $_; $_ => join ' ', - map {$attr->{$tar} ne $_} split ' ', $a->{$_} } @kupd + map {$attr->{$tar} ne $_} split ' ', $a->{$_} } + grep {exists $a->{$_}} keys %$attr }, } };