Config::Proxy =============== This module converts the configuration file of an HTTP proxy server to a parse tree and provides methods for various operations on this tree, such as: searching, modifying and saving it to a file. Two proxy implementations are supported: HAProxy and Pound. EXAMPLE 1 use Config::HAProxy; # Parse HAProxy configuration file my $cfg = Config::HAProxy->new->parse; # Print IP addresses and ports of the configured backends foreach my $srv (map { $_->select(name => 'server') } $cfg->tree->select(name => 'backend')) { print $srv->arg(1),"\n"; } EXAMPLE 2 use Config::Pound; # Parse pound configuration file my $cfg = Config::Pound->new->parse; # Print IP addresses and ports of the configured backends foreach my $lstn ($cfg->select(name => 'ListenHTTPS')) { foreach my $svc ($lstn->select(name => 'Service')) { foreach my $be ($svc->select(name => 'Backend')) { my ($addr, $port) = ($be->select(name => 'Address'), $be->select(name => 'Port')); next unless defined($addr) && defined($port); print $be->locus, ": ", $addr->arg(0), ":", $port->arg(0), "\n"; } } } INSTALLATION To install this module type the following: perl Makefile.PL make make test make install COPYRIGHT AND LICENCE Copyright (C) 2018-2024 by Sergey Poznyakoff This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this library. If not, see .