in reply to Launch CPAN search in browser from Windows command shell

In case you want to try and do some ^O switching, I've used this on linux. It might get you over a tricky quote syntax hurdle.
my $linkurl = 'http://zentara.net'; my $command = "mozilla -remote \"openURL($linkurl)\""; if(fork() == 0){ exec ($command) }

UPDATE.. here is a little better script that will do local files too. There is a way to select between new-tabs and new-windows, but I didn't make a commandline switch for it. There are also some special syntax differences for firefox, which I don't use. So all, in all, if you could incorporate all the possibilites for IE,Mozilla, Firefox,etc, and have it auto detect urls or local files, you would have a cool module. Maybe Browser::AutoLoad? :-)

#!/usr/bin/perl -w use strict; use Cwd; my $pid; my @docs; if(@ARGV){ my $cwd = getcwd; foreach my $arg(@ARGV){ if( $arg =~ /^http:\/\/.*$/ ){ push @docs, $arg } else{ push @docs , "file://$cwd/$arg" } } } else{ #load defaults @docs = qw( file:///home/zentara/1down/1GET http://www.google.com ); } # Look for instance of mozilla. `mozilla -remote "ping()"`; if ( $? ) { # Error, mozilla is not running. if (!defined($pid = fork())) { # Undef branch of fork: die "Cannot fork: $!"; } elsif ($pid == 0) { # Child branch of fork: `mozilla`; # Start new instance.... } else { # Parent branch of fork: do { `mozilla -remote "ping()"`; #sleep 1; select(undef,undef,undef,.5); } while ( $? ); #sleep 1; #give mozilla some time select(undef,undef,undef,.5); load_docs(); $pid=waitpid($pid, 0); # Wait for the pseudo-process # containing the new mozilla instance # to end. } } else { load_docs(); } ############################################################### sub load_docs { my $element; foreach (0..$#docs){ if ( $docs[$_] =~ /~file:\/\// ) { `mozilla -remote "openFile($docs[$_], new-tab)"` ; #`mozilla -remote "openFile($docs[$_], new-window)"` ; } else { `mozilla -remote "openURL($docs[$_], new-tab)"` ; # `mozilla -remote "openURL($docs[$_], new-window)"` ; } } }

I'm not really a human, but I play one on earth. flash japh

Replies are listed 'Best First'.
Re^2: Launch CPAN search in browser from Windows command shell
by xdg (Monsignor) on Apr 07, 2006 at 13:30 UTC

    Yeah, the cheater bit I used for Windows is the start command that dispatches the URL to the user-configured browser. I suspect there's an equivalent in Gnome/KDE (though I don't remember offhand). Unfortunately, without hard-coding a browser, I suspect this is both OS and X-environment specific on Unix. And I have no idea about MacOSX, though I suspect there's a similar "launch-url" command somewhere.

    -xdg

    Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

      My Debian desktop has the following alternatives setup:
      www-browser (/usr/bin/w3m) mozilla ( + 1 /usr/bin/mozilla-suite * 2 /usr/bin/mozilla-firefox ) x-www-browser ( 1 /usr/bin/mozilla 2 /usr/bin/epiphany + 3 /usr/bin/konqueror * 4 /usr/bin/mozilla-firefox )
      So either mozilla or x-www-browser seem like sensible "launch-url" commands.