package Base::CSV::Hash; use strict; use warnings; use base 'Exporter'; our @EXPORT_OK = qw(get_hash); sub open_file { my ($file) = @_; open(my $fh, $file) or die("can't open $file $!"); my @lines = <$fh>; chomp(@lines); return @lines; } sub get_hash { my ($hash,$data_hash) = @_; my @data = open_file($data_hash->{csv}); for my $value (@data) { my @inner_array = split(/\|/,$value); my $n = 0; for my $heading (@{$data_hash->{headings}}) { $$hash{$inner_array[0]}{$heading} = $inner_array[$n]; ++$n; } } } 1;