X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDOM%2FTiny%2F_CSS.pm;h=2817fcef72fec36e9a0eb480014b7126944b24da;hb=7218d584be520047d85245f35ec5edc337ac9e13;hp=5ab98495e707cb98ad2166c3f589436e56875959;hpb=8398aa8aedd21ed6d79f439ccd4f43b0e2ff3648;p=catagits%2FDOM-Tiny.git diff --git a/lib/DOM/Tiny/_CSS.pm b/lib/DOM/Tiny/_CSS.pm index 5ab9849..2817fce 100644 --- a/lib/DOM/Tiny/_CSS.pm +++ b/lib/DOM/Tiny/_CSS.pm @@ -3,7 +3,7 @@ package DOM::Tiny::_CSS; use strict; use warnings; -our $VERSION = '0.002'; +our $VERSION = '0.003'; my $ESCAPE_RE = qr/\\[^0-9a-fA-F]|\\[0-9a-fA-F]{1,6}/; my $ATTR_RE = qr/ @@ -109,7 +109,14 @@ sub _compile { # Attributes elsif ($css =~ /\G$ATTR_RE/gco) { - push @$last, ['attr', _name($1), _value($2 // '', $3 // $4 // $5, $6)]; + push @$last, [ + 'attr', _name($1), + _value( + defined($2) ? $2 : '', + defined($3) ? $3 : defined($4) ? $4 : $5, + $6 + ), + ]; } # Pseudo-class (":not" contains more selectors) @@ -144,7 +151,7 @@ sub _equation { return $num if $equation !~ /(?:(-?(?:\d+)?)?(n))?\s*\+?\s*(-?\s*\d+)?\s*$/i; $num->[0] = defined($1) && $1 ne '' ? $1 : $2 ? 1 : 0; $num->[0] = -1 if $num->[0] eq '-'; - $num->[1] = $3 // 0; + $num->[1] = defined($3) ? $3 : 0; $num->[1] =~ s/\s+//g; return $num; }