I understand that your config file is probably plain text, but here's an option using Data::Dumper and require.
Start with a configuration format, like a HASH:
perl -MData::Dumper -e '
$conf = {
DEVICE => 'eth0',
ONBOOT => 'yes',
BOOTPROTO => 'static',
TYPE => 'Ethernet',
IPADDR => '10.9.0.200',
NETMASK => '255.255.0.0',
GATEWAY => '10.9.1.254',
};
open( $fh, ">", "monkConfig.txt" ) or die;
print $fh Data::Dumper->Dump([$conf],["config"]);
'
Creates a file with this format:
$config = {
'TYPE' => 'Ethernet',
'ONBOOT' => 'yes',
'NETMASK' => 255.255.0.0,
'GATEWAY' => 10.9.1.254,
'DEVICE' => 'eth0',
'IPADDR' => 10.9.0.200,
'BOOTPROTO' => 'static'
};
Then use require to access the data:
perl -le 'require "monkConfig.txt";
print $config->{'TYPE'};
'
__output__
Ethernet
...then redo the Dump to write changes back to file. Yeah, probably a bit more tedious then Tie::File, but imagine the possibilities!