Steven Haryanto > Web-Detect-0.04 > Web::Detect

Download:
Web-Detect-0.04.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.04   Source  

NAME ^

Web::Detect - Detect if program is running under some web environment

VERSION ^

version 0.04

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.

TODO ^

Make heuristics even better!

More links/description to each HASHREF key.

Never enough tests.

AUTHOR ^

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2013 by Steven Haryanto.

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

syntax highlighting: