in reply to Re^2: opening browser from script
in thread opening browser from script
if ($output = `firefox`) {print "no browser found\n"}
would mean that you invoke firefox, wait for firefox to exit and stuff its output into $output. Meanwhile (while firefox is running) your application is blocked. Is that the intended behaviour?
What happens if the invocation fails? Most probably the shell will send an error message to its STDERR, which you don't collect in $output. Bummer, no error message "no browser found"...
Collecting the output of a program that doesn't exist is no good to test its existence. A better approach would be
BROWSER: { for my $dir (split /:/, $ENV{PATH}) { for my $browser (qw(firefox mozilla opera konqueror)) { if (-x "$dir/$browser") { system "$dir/$browser" # or "$dir/$browser &" to bac +kground and die "running $browser returned $?\n"; last BROWSER; } } } print "no browser found.\n"; }
--shmem
_($_=" "x(1<<5)."?\n".q·/)Oo. G°\ /
/\_¯/(q /
---------------------------- \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: opening browser from script
by diamantis (Beadle) on May 17, 2007 at 14:38 UTC | |
by shmem (Chancellor) on May 17, 2007 at 14:46 UTC |