setenv

 view release on metacpan or  search on metacpan

CHANGELOG  view on Meta::CPAN

	Adoption.

0.04	1 April 2012
	Some code esthetics and optimization.  Verified it runs on 5.14.2
	threaded and unthreaded.

0.03	8 April 2008
	Minor code cleanup.  Corrected dates in CHANGELOG.

0.02	27 March 2008
	Added support for "no setenv" (aka "unimport")

0.01	27 March 2008
	First version of setenv.

MANIFEST  view on Meta::CPAN

MANIFEST
CHANGELOG
README
Makefile.PL
lib/setenv.pm
t/001basic.t
META.yml                                 Module YAML meta-data (added by MakeMaker)
META.json                                Module JSON meta-data (added by MakeMaker)

META.json  view on Meta::CPAN

   ],
   "dynamic_config" : 1,
   "generated_by" : "ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 2.150010",
   "license" : [
      "unknown"
   ],
   "meta-spec" : {
      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
      "version" : 2
   },
   "name" : "setenv",
   "no_index" : {
      "directory" : [
         "t",
         "inc"
      ]
   },
   "prereqs" : {
      "build" : {
         "requires" : {
            "ExtUtils::MakeMaker" : "0"

META.yml  view on Meta::CPAN

build_requires:
  ExtUtils::MakeMaker: '0'
configure_requires:
  ExtUtils::MakeMaker: '0'
dynamic_config: 1
generated_by: 'ExtUtils::MakeMaker version 7.70, CPAN::Meta::Converter version 2.150010'
license: unknown
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: setenv
no_index:
  directory:
    - t
    - inc
requires: {}
version: '0.07'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Makefile.PL  view on Meta::CPAN

require 5.005; # Test::More doesn't support earlier
use ExtUtils::MakeMaker;
eval "use Devel::Required";

WriteMakefile (
 NAME		=> "setenv",
 AUTHOR		=> 'Elizabeth Mattijsen (liz@dijkmat.nl)',
 ABSTRACT	=> 'set %ENV variables at compile time',
 VERSION_FROM	=> 'lib/setenv.pm',
 PREREQ_PM	=> { qw(
                   ) },
);

lib/setenv.pm  view on Meta::CPAN

package setenv;

# where are we?
$VERSION= '0.07';

# be as strict and verbose as possible
use strict;
use warnings;

# satisfy -require-
1;

lib/setenv.pm  view on Meta::CPAN


    return;
}    #unimport

#---------------------------------------------------------------------------

__END__

=head1 NAME

setenv - conveniently (re)set %ENV variables at compile time

=head1 SYNOPSIS

 no setenv;                # BEGIN { %ENV = () }

 no setenv qw( FOO BAR );  # BEGIN { delete @ENV{ qw( FOO BAR ) } }

 use setenv                # BEGIN { $ENV{FOO} = 1, $ENV{BAR} = 2 }
   FOO => 1,
   BAR => 2,
 ;

=head1 DESCRIPTION

Provide a simple way to (re)set C<%ENV> variables at compile time.  Usually
used during debugging only.  This is just syntactic sugar, without any
additives.

t/001basic.t  view on Meta::CPAN

        chdir 't' if -d 't';
        @INC = '../lib';
    }
}

use strict;
use warnings;

use Test::More tests => 7;

use_ok( 'setenv' ); # just for the record

my $keys;
BEGIN { $keys = keys %ENV };

no setenv;

BEGIN { is( scalar keys %ENV, 0, 'no environment left' ) };

BEGIN { ok( !$ENV{FOOBAR}, 'not set at first' ) };

use setenv FOOBAR => 'foobar';

BEGIN { is( $ENV{FOOBAR}, 'foobar', 'check if set later at compile time' ) };

no setenv qw( FOOBAR );

BEGIN { ok( !$ENV{FOOBAR}, 'not set after being removed' ) };

use setenv FOOBAR => 'foobar2';

BEGIN { is( $ENV{FOOBAR}, 'foobar2', 'check if set again at compile time' ) };

is( $ENV{FOOBAR}, 'foobar2', 'check if set later at run time' );



( run in 0.500 second using v1.01-cache-2.11-cpan-a1d94b6210f )