Perl programmers or system that using CPAN (Comprehensive Perl Archive Network) extensive list of modules or distributions may occasionally has the following message shown in log file, especially when using script that acts as a package manager or automated update script such as in the case of upcp script for cPanel WebHost Manager hosting server:

Sorry, we have to rerun the configuration dialog for CPAN.pm due to
the following indispensable but missing parameters:

auto_commit

Normally CPAN.pm keeps config variables in memory and changes need to
be saved in a separate ‘o conf commit’ command to make them permanent
between sessions. If you set the ‘auto_commit’ option to true, changes
to a config variable are always automatically committed to disk.

Always commit changes to config variables to disk? [no]

Please remember to call ‘o conf commit’ to make the config permanent!

CPAN is used to query, download and build perl modules from CPAN sites, and automates or at least simplifies the make and install of perl modules and extensions. CPAN allows and uses hash reference $CPAN::Config in a configuration file CPAN/Config.pm for site specific options or user specific settings at CPAN/MyConfig.pm. Options configurable include proxy, paths to various programs such as ftp, curl, tar and wget, working directories, timeout and etc.

The above message will appear when auto_commit is not specified in the CPAN config file. auto_commit key will commit and save all changes to config variables to disk in the current config file (CPAN/Config.pm or CPAN/MyCon-fig.pm that was loaded at start).

To solve the problem, the resolution is to add in auto_commit flag into the config file. There is a simple way to do the task, by suing interactive mode.

Enter interactive mode by running one of the following commands:

perl -MCPAN -e shell

or

cpan

When you’re prompted with “Always commit changes to config variables to disk? [no]”, press Y key for Yes so that all changes will be auto committed and saved, including the auto_commit itself.