File Coverage

blib/lib/ShellQuote/Any/Tiny.pm
Criterion Covered Total %
statement 12 16 75.0
branch 3 6 50.0
condition n/a
subroutine 3 3 100.0
pod 1 1 100.0
total 19 26 73.0


line stmt bran cond sub pod time code
1             package ShellQuote::Any::Tiny;
2              
3             our $DATE = '2017-08-16'; # DATE
4             our $VERSION = '0.005'; # VERSION
5              
6 1     1   48661 use strict;
  1         2  
  1         27  
7             #use warnings;
8              
9 1     1   5 use Exporter qw(import);
  1         2  
  1         193  
10             our @EXPORT_OK = qw(shell_quote);
11              
12             sub shell_quote {
13 8     8 1 48307 my $arg = shift;
14              
15 8 50       26 if ($^O eq 'MSWin32') {
16 0 0       0 if ($arg =~ /\A\w+\z/) {
17 0         0 return $arg;
18             }
19 0         0 $arg =~ s/([\\"])/\\$1/g;
20 0         0 return qq("$arg");
21             } else {
22 8 100       39 if ($arg =~ /\A\w+\z/) {
23 1         8 return $arg;
24             }
25 7         18 $arg =~ s/'/'"'"'/g;
26 7         75 return "'$arg'";
27             }
28             }
29              
30             1;
31             # ABSTRACT: Escape string for the Unix/Windows shell
32              
33             __END__