And if you're using Perl on a Windows OS, as an alternative to
Config::IniFiles I recommend that
you look into Dave Roth's really useful
Win32::AdminMisc module. It includes a ReadINI (and a WriteINI) function that "understands" section dividers, and ignores lines commented out with semi-colons. There's online documentation at http://www.roth.net/perl/adminmisc/, but here's an example of how it could be used:
foreach my $section (Win32::AdminMisc::ReadINI
('some.ini', '', '')) {
foreach my $key (Win32::AdminMisc::ReadINI
('some.ini', $section, '')) {
my $value = Win32::AdminMisc::ReadINI
('some.ini', $section, $key);
}
}
(Note: if you want to use AdminMisc, either use PPM (if you're using ActiveState), or else use the links at Roth's site. It's on CPAN but http://search.cpan.org for some reason doesn't return a match.)
Finally, in the book Data Munging in Perl (written by davorg), there's a longish discussion about using the high-powered Parse::RecDescent module for parsing INI files.
-- Frag. | [reply] [d/l] |
But, you do learn a lot reinventing the wheel, sometimes it
is good to write it out... especially short things like this.
Of course, reusable code is always a Good Thing too :)
- Ant | [reply] |
But, you do learn a lot reinventing the wheel, sometimes it is good to write it out...
True, but there are many more problems that people either a.) haven't solved, b.) have solved poorly and so could be solved in a better way. For a more thorough understanding of why one shouldn't reinvent the wheel, look here.
| [reply] |