ConfigEditor

An alternative terminal editor and authoring assistant for Sim::OPT configuration files

An interactive editor for Sim::OPT configuration files

Sim::OPT::ConfigEditor is an optional terminal editor and authoring assistant for ordinary Sim::OPT Perl configuration files. ConfigEditor is an interactive terminal editor, not a GUI application.

Its guiding principle is to expose Sim::OPT concepts without imprisoning expert users in the interface: presets and questions help less experienced users, while the resulting file remains ordinary Perl and advanced users retain an escape route to direct Perl expressions.

Section-based editing

The main menu organizes configuration into Project and files, Search structure, Execution settings, Results and objectives, and Design variables. Validation, managed-source preview, saving, contextual help and the full manual are available from the same interface.

Search and execution

The editor supports @sweeps, variable level counts and starting levels, including special sweep tokens that are preserved as strings. Execution settings include %dowhat, simulation-network settings and process limits. Execution-only presets can be applied independently of the rest of the experiment definition.

Objectives and model changes

Objective-related structures include retained result columns, transformations, weights and optimization aims. Guided editing is available for common applytype and genmodnew forms, while a raw Perl array-reference route remains available for advanced cases.

Preserving unknown Perl

Managed-update mode preserves the original Perl source and places supported changes inside one replaceable managed block. Comments, formatting, unsupported settings and custom Perl remain untouched. Restoring a value to its original state removes the corresponding managed override, and a true no-op save remains byte-for-byte unchanged.

Clean export and Perl order

A clean export creates a standalone canonical configuration containing the supported settings. Unsupported custom Perl is not copied into that clean representation.

As with Config, end-of-file overrides cannot retroactively recompute Perl values that were derived earlier in the file. When evaluation order matters, use a clean export or place the assignment manually in the appropriate earlier position.

Validation and trust

The validator checks malformed blocks, missing or invalid level definitions, starting levels outside the allowed range, objective-list consistency and common model-change parameter shapes. Overlap is a warning rather than an error.

Loading or evaluating advanced Perl content executes trusted local code; package isolation is not a security sandbox.

← Back to Sim::OPT + OPTcue