version 0.03


    use Browser::Open qw( open_browser );

    ### Try commands specific to the current Operating System
    my $ok = open_browser($url);
    # ! defined($ok): no recognized command found
    # $ok == 0: command found and executed
    # $ok != 0: command found, error while executing

    ### Try all known commands
    my $ok = open_browser($url, 1);


The functions optionaly exported by this module allows you to open URLs in the user browser.

A set of known commands per OS-name is tested for presence, and the first one found is executed. With an optional parameter, all known commands are checked.

The \*(L"open_browser\*(R" uses the \*(C`system()\*(C' function to execute the command. If you want more control, you can get the command with the \*(L"open_browser_cmd\*(R" or \*(L"open_browser_cmd_all\*(R" functions and then use whatever method you want to execute it.


All functions are not exported by default. You must ask for them explicitly.


my $ok = open_browser($url, $all);

Find an appropriate command and executes it with your $url. If $all is false, the default, only commands that match the current \s-1OS\s0 will be tested. If true, all known commands will be tested.

If no command was found, returns \*(C`undef\*(C'.

If a command is found, returns the exit code of the execution attempt, 0 for success. See the \*(C`system()\*(C' for more information about this exit code.

If no $url is given, an exception will be thrown: \*(C`Missing required parameter $url\*(C'.


my $cmd = open_browser_cmd();

Returns the best command found to open a \s-1URL\s0 on your system.

If no command was found, returns \*(C`undef\*(C'.


my $cmd = open_browser_cmd_all();

Returns the first command found to open a \s-1URL\s0.

If no command was found, returns \*(C`undef\*(C'.


Pedro Melo, \*(C`<melo at>\*(C'


Copyright 2009 Pedro Melo.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.