---
name: "Zabbix::API::Utils"
section: "3pm"
platform: "linux"
package: "libzabbix-api-perl"
version: "0.009-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Zabbix::API::Utils"
---

# Zabbix::API::Utils(3pm)

## NAME

Zabbix::Utils -- Useful miscellanea related to Zabbix

## DESCRIPTION

This is a collection of miscellaneous things useful to have in the event that you're doing something with the Zabbix::API distribution.

## FUNCTIONS

None so far.

## EXPORTS

None by default.

### EXPORTABLE

- RE\_FORMULA

  This constant (in the `"use constant"` sense) is a regular expression that will match against parts of formulas of calculated items thusly:

  ```
    use Zabbix::Utils qw/RE_FORMULA/;
    # interpolating constants is problematic
    my $regexp = RE_FORMULA;
    my $formula = 'last("MyROuter2:ifHCInOctets5")+last("MyROuter2:ifHCInOctets23")';
    while ($formula =~ m/$regexp/g) {
        print Dumper(\%+);
    }
  ```

  Which should output:

  ```
    $VAR1 = {
              'function_call' => 'last("MyROuter2:ifHCInOctets5")',
              'function_args_quote' => '"',
              'item' => 'ifHCInOctets5',
              'function_args' => 'MyROuter2:ifHCInOctets5',
              'host' => 'MyROuter2'
            };
    $VAR1 = {
              'function_call' => 'last("MyROuter2:ifHCInOctets23")',
              'function_args_quote' => '"',
              'item' => 'ifHCInOctets23',
              'function_args' => 'MyROuter2:ifHCInOctets23',
              'host' => 'MyROuter2'
            };
  ```

  Item arguments (system.uptime**\[minutes\]**) appear in `"item_arg"` which is not represented here (fixme!).

  You'll have noticed that this makes use of the excellent "named capture buffers" feature, which means you need Perl 5.10 or higher.

## SEE ALSO

Zabbix::API, the Zabbix API documentation at \<http://www.zabbix.com/documentation/start\>.

## AUTHOR

Fabrice Gabolde \<fabrice.gabolde@uperto.com\>

## COPYRIGHT AND LICENSE

Copyright (C) 2011 SFR

This library is free software; you can redistribute it and/or modify it under the terms of the GPLv3.
