File Coverage

blib/lib/Env/Browser.pm
Criterion Covered Total %
statement 24 24 100.0
branch 6 6 100.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 36 36 100.0


line stmt bran cond sub pod time code
1             package Env::Browser;
2              
3 3     3   58054 use base qw(Exporter);
  3         14  
  3         315  
4 3     3   17 use strict;
  3         3  
  3         77  
5 3     3   13 use warnings;
  3         5  
  3         87  
6              
7 3     3   1283 use Readonly;
  3         9429  
  3         581  
8              
9             # Constants.
10             Readonly::Array our @EXPORT_OK => qw(run);
11             Readonly::Scalar our $SPACE => q{ };
12              
13             our $VERSION = 0.06;
14              
15             # Run browser.
16             sub run {
17 5     5 1 10548 my $uri = shift;
18              
19             # Environment $BROWSER variable.
20 5         15 my $browser_string = $ENV{'BROWSER'};
21 5 100       15 if (! $browser_string) {
22 1         9 return;
23             }
24              
25             # Split variables.
26 4         13 my @browser = split m/:/ms, $browser_string;
27              
28             # Run.
29 4         11 while (my $browser = shift @browser) {
30 6 100       73 if ($browser =~ m/%s/ms) {
31 2         27 $browser = sprintf $browser, $uri;
32             } else {
33 4         22 $browser .= $SPACE.$uri;
34             }
35 6 100       17341 if ((system $browser) == 0) {
36 4         60 last;
37             }
38             }
39              
40 4         135 return;
41             }
42              
43             1;
44              
45             __END__