######################################################################
   Proc::Info::Environment 0.01
######################################################################

NAME
   Proc::Info::Environment - Read Environment Variables of any Process

SYNOPSIS
       use Proc::Info::Environment;
       my $proc_info = Proc::Info::Environment->new();

       my $env = $proc_info->env( $pid );

       print "\$PATH of process $pid is $env->{PATH}\n";

DESCRIPTION
   Proc::Info::Environment retrieves the settings of environment variables
   in arbitrary running processes of the operating system.

   For example,

       use Proc::Info::Environment;
       my $proc_env = Proc::Info::Environment->new();
       my $env = $proc_env->env( 123 );

   will retrieve the environment settings of the process with the pid 123
   and (if this process exists and is readable by the user) return them as
   a hash reference in $env.

   As an illustrative (but not very useful) example, retrieving

       my $env = $proc_env->env( $$ );

   will return a reference to a hash similar to %ENV, which contains the
   environment variables of the current process.

   Reading other processes' environment variables is only possible if the
   operating system (a) supports a method to do this and (b) the user of
   the currently running process is either root, or has the same uid as the
   process whose variables it wants to read.

   Proc::Info::Environment is currently supported only for specific Unix
   systems. On Linux, it will use the procfs file system mounted under
   /proc to get the information needed. It will read the file
   /proc/xxx/environ, where xxx is the pid of the target process.

   To verify if Proc::Info::Environment supports your operating system, run
   Proc::Info::Environment::os_supported(), which returns a true value if
   it is supported. If the OS is unsupported, the new() constructor will
   die() with an error message listing all currently supported operating
   systems.

   The module's architecture allows for easy support of other systems, if
   you want support for one and know how the information is provided, drop
   me an email.

LEGALESE
   Copyright 2010 by Mike Schilli, all rights reserved. This program is
   free software, you can redistribute it and/or modify it under the same
   terms as Perl itself.

AUTHOR
   2010, Mike Schilli <[email protected]>