diff options
| author | fukachan <fukachan> | 2001-12-09 12:48:15 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-12-09 12:48:15 +0000 |
| commit | 056b34295aad99d9c4243334dfcb41bb1d6c64b8 (patch) | |
| tree | 855d0b373ba7817f7661049bcbc64849e5606136 | |
| parent | aafc4d34c5ba758def3db18216c3f11509da4514 (diff) | |
| download | fml8-snap-20011209.tar.gz fml8-snap-20011209.tar.bz2 fml8-snap-20011209.zip | |
FML::Config:: class for configuration utilitysnap-20011209
| -rw-r--r-- | fml/lib/FML/Config/Convert.pm | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/fml/lib/FML/Config/Convert.pm b/fml/lib/FML/Config/Convert.pm new file mode 100644 index 00000000..191b9033 --- /dev/null +++ b/fml/lib/FML/Config/Convert.pm @@ -0,0 +1,81 @@ +#-*- perl -*- +# +# Copyright (C) 2001 Ken'ichi Fukamachi +# All rights reserved. This program is free software; you can +# redistribute it and/or modify it under the same terms as Perl itself. +# +# $FML: @template.pm,v 1.2 2001/10/27 04:27:18 fukachan Exp $ +# + + +package FML::Config::Convert; + +use strict; +use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD); +use Carp; + +=head1 NAME + +FML::Config::Convert -- + +=head1 SYNOPSIS + +=head1 DESCRIPTION + +=head1 METHODS + +=cut + + +sub convert +{ + my ($in, $out, $config) = @_; + + if (defined $in && defined $out && defined $config) { + while (<$in>) { + $_ = _replace($_, $config) if /__/; + print $out $_; + } + } + else { + croak("convert: invalid in/out channel"); + } +} + + +sub _replace +{ + my ($buf, $config) = @_; + + if (defined $config->{ ml_name }) { + $buf =~ s/__ml_name__/$config->{ ml_name }/g; + } + + if (defined $config->{ ml_domain }) { + $buf =~ s/__ml_domain__/$config->{ml_domain}/g; + } + + return $buf; +} + + +=head1 AUTHOR + +Ken'ichi Fukamachi + +=head1 COPYRIGHT + +Copyright (C) 2001 Ken'ichi Fukamachi + +All rights reserved. This program is free software; you can +redistribute it and/or modify it under the same terms as Perl itself. + +=head1 HISTORY + +FML::Config::Convert appeared in fml5 mailing list driver package. +See C<http://www.fml.org/> for more details. + +=cut + + +1; |
