| blib/lib/Pipe/Tube/Uniq.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| statement | 18 | 18 | 100.0 |
| branch | 2 | 2 | 100.0 |
| condition | 3 | 3 | 100.0 |
| subroutine | 5 | 5 | 100.0 |
| pod | 0 | 1 | 0.0 |
| total | 28 | 29 | 96.5 |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | package Pipe::Tube::Uniq; | ||||||
| 2 | 1 | 1 | 7 | use strict; | |||
| 1 | 2 | ||||||
| 1 | 29 | ||||||
| 3 | 1 | 1 | 17 | use warnings; | |||
| 1 | 17 | ||||||
| 1 | 29 | ||||||
| 4 | 1 | 1 | 15 | use 5.006; | |||
| 1 | 4 | ||||||
| 5 | |||||||
| 6 | 1 | 1 | 6 | use base 'Pipe::Tube'; | |||
| 1 | 2 | ||||||
| 1 | 231 | ||||||
| 7 | |||||||
| 8 | our $VERSION = '0.06'; | ||||||
| 9 | |||||||
| 10 | sub run { | ||||||
| 11 | 28 | 28 | 0 | 48 | my ($self, @input) = @_; | ||
| 12 | |||||||
| 13 | 28 | 32 | my @result; | ||||
| 14 | 28 | 42 | foreach my $v (@input) { | ||||
| 15 | 24 | 100 | 100 | 82 | next if defined $self->{last} and $self->{last} eq $v; | ||
| 16 | |||||||
| 17 | 10 | 15 | $self->{last} = $v; | ||||
| 18 | 10 | 18 | push @result, $v; | ||||
| 19 | } | ||||||
| 20 | 28 | 65 | return @result; | ||||
| 21 | } | ||||||
| 22 | |||||||
| 23 | |||||||
| 24 | 1; | ||||||
| 25 | |||||||
| 26 | |||||||
| 27 |