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


in reply to Re^8: Read CSV with column mapping
in thread Read CSV with column mapping

see perlobj and perlootut

#!/usr/bin/perl use strict; use warnings; use Data::Dump 'pp'; use A; my $cnf = A->init('parameters.conf'); pp $cnf; print $cnf->get_value('abc','xyz'); print "\n"; print $cnf->get_value('blue','pqr');
package A; # file A.pm use strict; use warnings; use Text::CSV_XS; use IO::File; sub init { my ($class,$filename) = @_; my $self = {}; my $csv_fh = IO::File->new($filename, 'r'); my $csv = Text::CSV_XS->new( { allow_whitespace => 1 } ); while (my $row = $csv->getline($csv_fh)){ my $param = $row->[0]; my $key = $row->[1]; next if $key =~ /^#/; if ($key =~ /\S/){ $self->{$param}{$key} = { 'value' => $row->[2], 'id' => $row->[3] }; } } return bless $self, $class; } sub get_value { my ($self, $param, $key ) = @_; return $self->{$param}{$key}{'value'}; } 1;
poj