use Data::Dumper; # Save configuration data # Use the same arg as used with ReadCfg() # so that file can be found in the %INC. sub SaveCfg { my $file = $INC{$_[0]}; my $CFG; if (! open($CFG, "> $file")) { return ("ERROR: Failure opening '$file' - $!"); } print $CFG <<_MARKER_; ##### # # My configuration file # ##### use strict; use warnings; our (%CFG); # The configuration data @{[Data::Dumper->Dump([\%CFG::CFG], ['*CFG'])]} 1; # EOF _MARKER_ close($CFG); return (undef); # Success } # Save our configuration file if (my $err = SaveCfg('my_cfg.cfg')) { print(STDERR $err, "\n"); exit(1); }