---
name: "Perlanet::Role::Config"
section: "3pm"
platform: "linux"
package: "libperlanet-perl"
version: "2.2.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Perlanet::Role::Config"
---

# Perlanet::Role::Config(3pm)

A role to be used in Perlanet traits that read config.

## NAME

Perlanet::Role::Config - A role to be used in Perlanet traits that read config.

## SYNOPSIS

```
   package Perlanet::Trait::MyConfig;
   use Moose::Role;
   with 'Perlanet::Role::Config';
  # Class method to return the config
  sub get_config_from_somewhere {
    my $class = shift;
    # get_config() is defined in this role
    return $class->get_config(@_)
  }
  # get_config() calls this to actually read the config.
  sub read_config {
    my $class = shift;
    my %params = @_;
    my $cfg = ...;
    return $cfg;
  }
```

## DESCRIPTION

A role that is used to build Perlanet traits which read config information from various sources.

This role does two things:

- •

  It exposes a method called `"get_config()"` which gets the raw config data (using your `"read_config()"` method).

- •

  It forces your trait to define a method called `"read_config()"` which actually reads the config and returns it as a hash reference.

### METHODS

*get\_config*

Calls your `"read_config()"` method to actually get the config data (as a hash reference) and then munges that data in various ways to get a useful config hash.

*THIRTY\_DAYS*

Constant to define the default cache expiration time in seconds.

## AUTHOR

Dave Cross, \<dave@perlhacks.com\>

## COPYRIGHT AND LICENSE

Copyright (c) 2022 by Magnum Solutions Ltd.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.
