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