/usr/local/CPAN/Unix-Conf-Bind8/Unix/Conf/Bind8/DB/Lib.pm
# general utility routines
#
# Copyright Karthik Krishnamurthy
package Unix::Conf::Bind8::DB::Lib;
use strict;
use warnings;
require Exporter;
our @ISA = qw (Exporter);
our @EXPORT = qw (
__make_relative
__make_absolute
__is_absolute
__is_validttl
);
sub __make_relative ($$)
{
my ($origin, $label) = @_;
my $ret = $label;
$ret =~ s/^(?:([\w.\-]+)\.)?$origin$/defined ($1) ? $1 : ''/ie
if ($label =~ /^[\w.-]+\.$/);
return ($ret);
}
# ARGUMENTS:
# ORIGIN
# ARG
sub __make_absolute ($$)
{
my ($origin, $label) = @_;
# if ending in a '.' return as is
return ($label)
if ($label =~ /^[\w.-]+\.$/);
return (($label) ? "$label.$origin" : $origin)
if ($origin);
return ($label);
}
sub __is_absolute ($) { return ($_[0] =~ /^[\w.-]+\.$/); }
sub __is_validttl ($) { return ($_[0] =~ /^(?:(?:\d+[wdhms])+|\d+$)/oi); }
1;