File Coverage

blib/lib/PocketIO/Util.pm
Criterion Covered Total %
statement 11 21 52.3
branch 1 8 12.5
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 16 34 47.0


line stmt bran cond sub pod time code
1             package PocketIO::Util;
2              
3 6     6   38 use strict;
  6         11  
  6         556  
4 6     6   33 use warnings;
  6         11  
  6         1073  
5              
6 6     6   33 use base 'Exporter';
  6         12  
  6         3857  
7              
8             our @EXPORT_OK = (qw/urlencoded_param/);
9              
10             sub urlencoded_param {
11 2     2 0 5 my ($string, $needed_key) = @_;
12              
13 2 50       8 return unless defined $string;
14              
15 0           my @pairs = split /(?:&|;)/, $string;
16 0           for my $pair (@pairs) {
17 0           my ($key, $value) = split /=/, $pair;
18              
19 0 0         $key =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg if defined $key;
  0            
20 0 0         if ($key eq $needed_key) {
21 0 0         $value =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg if defined $value;
  0            
22 0           return $value;
23             }
24             }
25              
26 0           return;
27             }
28              
29             1;