NAME Env::C - Get/Set/Unset Environment Variables on the C level SYNOPSIS use Env::C; my $key = "USER"; $val = Env::C::getenv($key) || ''; Env::C::setenv($key, "foobar", [$override]); $new_val = Env::C::getenv($key) || ''; Env::C::unsetenv($key); my $ar_env = Env::C::getallenv(); print join "\n", @$ar_env; DESCRIPTION This module provides a Perl API for getenv(3), setenv(3) and unsetenv(3). It also can return all the "environ" variables. Sometimes Perl invokes modules with underlaying C APIs which rely on certain environment variables to be set, if these variables are set in Perl and the glue code doesn't worry to set them on the C level, these variables might not be seen by the C level. This module shows what really the C level sees. FUNCTIONS * getenv() $val = Env::C::getenv($key); Returns the value of the environment variable matching the key or "undef". * setenv() Env::C::setenv($key, $value, [$override]); The setenv() function adds the variable "$key" to the environment with the value "$value", if "$key" does not already exist. If "$key" does exist in the environment, then its value is changed to "$value" if "$overwrite" is non-zero; if "$overwrite" is zero or is not passed, then the value of "$key" is not changed. * unsetenv() Env::C::unsetenv($key); The unsetenv() function deletes the variable "$key" from the environment. * getallenv() my $ar_env = Env::C::getallenv(); print join "\n", @$ar_env; The getallenv() function returns an array reference which includes all the all the environment variables. EXPORT None. AUTHOR Stas Bekman SEE ALSO the perl manpage.