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 <stas@stason.org>
SEE ALSO
perl.