generate - Generate code and test data for the specified planets


 generate mars
 generate -help
 generate -version



If this Boolean option is asserted, Data::Dumper is used to stringify the model data. If not, Data::Dump is used.

The default is -nodumper.


If this Boolean option is asserted, generated files that exist are overwritten. If not, generated files that exist are not overwritten, and a warning is generated.


This option displays the documentation for this script. The script then exits.


 -model vsop87b

This option specifies the model to build into the generated code. The value is not case-sensitive. Values other than the default are not supported.

The default is -model vsop87d.


 -template fubar/vsop87d.pm

This option specifies the template file to use to generate the planet's module. If a false value is specified, no module is generated, and the model is written to standard out.

The default is -template tools/template.tpl.


This option displays the version of this script. The script then exits.


This Perl script generates modules and test data for the planets named on the command line. The planet names are case-insensitive.

The modules are generated using a home-grown templating system more or less like a brain-dead Template-Toolkit. Variable substitution occurs on the following names when enclosed in [% ... %]:

body - the name of the body
model - the model parameters
name - the name of the model, upper-case
superclass - the name of the superclass
year - the current year


Thomas R. Wyant, III wyant at cpan dot org


Copyright (C) 2018-2019 by Thomas R. Wyant, III

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For more details, see the full text of the licenses in the directory LICENSES.

This program 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.