The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Math::Formula::Config::INI - load/save formulas to file as INI

INHERITANCE

 Math::Formula::Config::INI
   is a Math::Formula::Config

SYNOPSIS

  my $context = Math::Formula::Content->new(name => 'test');
  my $config = Math::Formula::Config::INI->new(directory => $dir);

  $config->save($context);
  my $context = $config->load('test');

DESCRIPTION

Save and load a Math::Formula::Context to INI files. The INI file is not too complex.

You need to have installed Config::INI. That module is not in the dependencies of this packages, because we do not want to add complications to the main code.

Extends "DESCRIPTION" in Math::Formula::Config.

METHODS

Extends "METHODS" in Math::Formula::Config.

Constructors

Extends "Constructors" in Math::Formula::Config.

Math::Formula::Config::INI->new(%options)

Inherited, see "Constructors" in Math::Formula::Config

Attributes

Extends "Attributes" in Math::Formula::Config.

$obj->directory()

Inherited, see "Attributes" in Math::Formula::Config

$obj->path_for($file)

Inherited, see "Attributes" in Math::Formula::Config

Actions

Extends "Actions" in Math::Formula::Config.

$obj->load($name, %options)

Load a Math::Formula::Context for an INI file.

 -Option  --Default
  filename  <directory/$name.ini>
filename => FILENAME
$obj->save($context, %args)

Serialize the $context to INI files, as storage or to be edited by hand. This is a useful method when default configuration templates need to be generated.

 -Option  --Default
  filename  $context->name .ini
filename => STRING

Save under a different filename than derived from the name of the context.

DETAILS

According to https://en.wikipedia.org/wiki/INI_file, INI files only support strings and numbers. To stay as close as possible to that description, everything else is put between double quotes (also the booleans).

Only the quoted data may contain attributes.

. Example

  name    = test
  version = 1
  created = "2023-02-26T20:07:54+0000"
  updated = "2023-02-26T20:07:54+0000"
  mf_version = 0

  [formulas]
  expr2 = "\"abc\".size + 3k"; returns='MF::INTEGER'
  fakes = "false"
  dinertime = "18:05:07"
  expr1 = "1 + 2 * 3"
  string = abc
  some_truth = "true"

SEE ALSO

This module is part of Math-Formula distribution version 0.16, built on March 14, 2023. Website: http://perl.overmeer.net/CPAN/

LICENSE

Copyrights 2023 by [Mark Overmeer <markov@cpan.org>]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/