GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
MooX::Attribute::ENV(3) User Contributed Perl Documentation MooX::Attribute::ENV(3)

MooX::Attribute::ENV - Allow Moo attributes to get their values from %ENV

  package MyMod;
  use Moo;
  use MooX::Attribute::ENV;
  # look for $ENV{attr_val} and $ENV{ATTR_VAL}
  has attr => (
    is => 'ro',
    env_key => 'attr_val',
  );
  # look for $ENV{attr_val} and $ENV{next_val}, in that order
  has some => (
    is => 'ro',
    env_key => [ 'attr_val', 'next_val' ],
  );
  # looks for $ENV{otherattr} and $ENV{OTHERATTR}, then any default
  has otherattr => (
    is => 'ro',
    env => 1,
    default => 7,
  );
  # looks for $ENV{xxx_prefixattr} and $ENV{XXX_PREFIXATTR}
  has prefixattr => (
    is => 'ro',
    env_prefix => 'xxx',
  );
  # looks for $ENV{MyMod_packageattr} and $ENV{MYMOD_PACKAGEATTR}
  has packageattr => (
    is => 'ro',
    env_package_prefix => 1,
  );

  $ perl -MMyMod -E 'say MyMod->new(attr => 2)->attr'
  # 2
  $ ATTR_VAL=3 perl -MMyMod -E 'say MyMod->new->attr'
  # 3
  $ OTHERATTR=4 perl -MMyMod -E 'say MyMod->new->otherattr'
  # 4

This is a Moo extension. It allows other attributes for "has" in Moo. If any of these are given, then "BUILDARGS" in Moo is wrapped so that values for object attributes can, if not supplied in the normal construction process, come from the environment.

The environment will be searched for either the given case, or upper case, version of the names discussed below.

When a prefix is mentioned, it will be prepended to the mentioned name, with a "_" in between.

Boolean. If true, the name is the attribute, no prefix.

String. If true, the name is the given value, no prefix.

or

ArrayRef. A list of names that will be checked in given order.

String. The prefix is the given value.

Boolean. If true, use as the prefix the current package-name, with "::" replaced with "_".

Ed J, porting John Napiorkowski's excellent MooseX::Attribute::ENV.

The same terms as Perl itself.
2021-10-03 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.