---
name: "Config::Model::Role::ComputeFunction"
section: "3pm"
platform: "linux"
package: "libconfig-model-perl"
version: "2.155-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Config::Model::Role::ComputeFunction"
---

# Config::Model::Role::ComputeFunction(3pm)

compute &index or &element functions

## NAME

Config::Model::Role::ComputeFunction - compute &index or &element functions

## VERSION

version 2.155

## SYNOPSIS

```
 $value->eval_function('index');
 $value->eval_function('element');
 $value->eval_function('index','-');
 $value->eval_function('index','- -');
 $value->eval_function('index','-3');
 $value->compute_string('&element(-)')
 $value->compute_string('&index(- -)');
```

## DESCRIPTION

Role used to let a value object get the index or the element name of `$self` or of a node above.

## METHODS

### eval\_function

Retrieve the index or the element name. Parameters are

```
 ( function_name , [ up  ])
```

- function\_name

  `"element"` or `"index"`

- up

  Optional parameter to indicate how many level to go up before retrieving the index or element name. Each `"-"` is equivalent to a call to `"parent|Config::Model::Node/parent"`. Can be repeated dashes ("`"-"`", "`"- -"`", ...) or a dash with a multiplier  ("`"-"`", "`-2`", ...). White spaces are ignored.

### compute\_string

Perform a similar function as `"eval_function"` using a string where function names are extracted.

E.g. `"compute_string('&element(-)')"` calls `"eval_function('element','-')"`

## AUTHOR

Dominique Dumont

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2005-2022 by Dominique Dumont.

This is free software, licensed under:

```
  The GNU Lesser General Public License, Version 2.1, February 1999
```
