| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | #!/usr/bin/perl | 
| 2 | 37 |  |  | 37 |  | 14844 | use strict; | 
|  | 37 |  |  |  |  | 106 |  | 
|  | 37 |  |  |  |  | 1111 |  | 
| 3 | 37 |  |  | 37 |  | 266 | use warnings; | 
|  | 37 |  |  |  |  | 93 |  | 
|  | 37 |  |  |  |  | 1370 |  | 
| 4 |  |  |  |  |  |  |  | 
| 5 |  |  |  |  |  |  | package WWW::Shopify::Liquid::Operator::Plus; | 
| 6 | 37 |  |  | 37 |  | 237 | use base 'WWW::Shopify::Liquid::Operator'; | 
|  | 37 |  |  |  |  | 89 |  | 
|  | 37 |  |  |  |  | 3898 |  | 
| 7 | 37 |  |  | 37 |  | 350 | use Scalar::Util qw(looks_like_number); | 
|  | 37 |  |  |  |  | 103 |  | 
|  | 37 |  |  |  |  | 9911 |  | 
| 8 | 1321 |  |  | 1321 | 0 | 4123 | sub symbol { return '+'; } | 
| 9 | 255 |  |  | 255 | 0 | 640 | sub priority { return 9; } | 
| 10 |  |  |  |  |  |  | sub operate { | 
| 11 | 22 | 50 | 33 | 22 | 0 | 85 | if (ref($_[3]) && ref($_[3]) eq 'ARRAY') { | 
| 12 | 0 | 0 | 0 |  |  | 0 | return [@{$_[3]}, @{$_[4]}] if ref($_[4]) && ref($_[4]) eq 'ARRAY'; | 
|  | 0 |  |  |  |  | 0 |  | 
|  | 0 |  |  |  |  | 0 |  | 
| 13 | 0 |  |  |  |  | 0 | return [@{$_[3]}, $_[4]]; | 
|  | 0 |  |  |  |  | 0 |  | 
| 14 |  |  |  |  |  |  | } | 
| 15 | 22 | 50 | 100 |  |  | 177 | return (defined $_[3] ? $_[3] : "")  . (defined $_[4] ? $_[4] : "") if !looks_like_number($_[3]) || !looks_like_number($_[4]); | 
|  |  | 50 |  |  |  |  |  | 
|  |  | 100 |  |  |  |  |  | 
| 16 | 16 |  |  |  |  | 65 | return $_[0]->ensure_numerical($_[3]) + $_[0]->ensure_numerical($_[4]); | 
| 17 |  |  |  |  |  |  | } | 
| 18 |  |  |  |  |  |  |  | 
| 19 |  |  |  |  |  |  | 1; |