http://www.perlmonks.org?node_id=662885


in reply to Perl record types

Parse::CSV would really fit the bill, I even demonstrated using a pipe sep over here.

But if you're stuck without using modules, you could probably rig sub up to do what you want easily. This just reads a text file of values in the form of:

some_key_param=value

my $config = read_config({ filename => 'some_config_file' }); # {{{ read_config # sub read_config { my $args = shift; die "No configuration file specified\n" unless defined $args->{filename}; open my $conf_fh, '<', $args->{filename} or die "Error opening conf file...$!\n\n"; my $conf = {}; for (<$conf_fh>) { chomp; # use '=' as the separator if ( $_ =~ m/[=]/ ) { # skip these lines s/#.*//; s/^\s+//; s/\s+$//; next unless length $_; my ( $key, $value ) = split( /\s*=\s*/, $_, 2 ); $config->{$key} = $value; } } close $conf_fh; return $conf; } # }}}

--
naChoZ

Therapy is expensive. Popping bubble wrap is cheap. You choose.