Env-Browser
view release on metacpan or search on metacpan
package Env::Browser;
use base qw(Exporter);
use strict;
use warnings;
use Readonly;
# Constants.
Readonly::Array our @EXPORT_OK => qw(run);
Readonly::Scalar our $SPACE => q{ };
our $VERSION = 0.06;
# Run browser.
sub run {
my $uri = shift;
# Environment $BROWSER variable.
my $browser_string = $ENV{'BROWSER'};
if (! $browser_string) {
return;
}
# Split variables.
my @browser = split m/:/ms, $browser_string;
# Run.
while (my $browser = shift @browser) {
if ($browser =~ m/%s/ms) {
$browser = sprintf $browser, $uri;
} else {
$browser .= $SPACE.$uri;
}
if ((system $browser) == 0) {
last;
}
}
return;
}
1;
__END__
=pod
=encoding utf8
=head1 NAME
Env::Browser - Process environment variable $BROWSER and run web browser.
=head1 SYNOPSIS
use Env::Browser qw(run);
run($uri);
=head1 SUBROUTINES
=over 8
=item B<run($uri)>
Run browser defined by $BROWSER variable.
=back
=head1 ENVIRONMENT
$BROWSER variable is defined by L<The BROWSER project|http://www.catb.org/~esr/BROWSER/index.html>.
=head1 EXAMPLE1
use strict;
use warnings;
use Env::Browser qw(run);
# Set $BROWSER variable.
$ENV{'BROWSER'} = 'echo';
# Run.
run('http://example.com');
( run in 0.756 second using v1.01-cache-2.11-cpan-71847e10f99 )