SYNOPSIS
use Web::Detect qw(detect_web detect_web_fast);
use IO::Interactive::Tiny ();
if (Web::Detect::detect_web_fast()) {
# do HTML
}
else {
# do CLI
if (IO::Interactive::Tiny::is_interactive()) {
# prompt/ANSI/etc
}
else {
# do not prompt/plain text/etc
}
}
DESCRIPTION
Knowing if you are under a web environment or not is very handy.
For example, often you need to decide whether to output HTML or
plaintext.
FUNCTIONS
Functions are exportable but are not exported by default.
detect_web() => HASHREF
Return false if not detected running under any web environment.
Return a hash otherwise.
These keys exists if it is detected that we are running under the given
environment and the value is suitable as a boolean (always true).
mod_perl
plack
pangea
cpanel
http://cpanel.net
catalyst
dancer
mojo
FCGI.pm
IIS
cgi
General CGI
general
Value can be 1 if it was detected during the first general check, 2
if it was detected during the second general check, and 3 if it was
detected under both.
Additionally, psgi is also true if we know its a PSGI environment.
detect_web_fast()
Same as detect_web() but return HASHREF upon first successful check
instead of trying all heuristics.