my %matrix = ('R-Linux' => {confdir=>'abc'}, 'R-Solaris'=> {scriptpath=>'def'}); sub item { my ($os,$what,$value) = @_; $matrix{$os}{$what} = $value if 3==@_; return $matrix{$os}{$what}; } sub delete_item { my ($os,$what) = @_; delete $matrix{$os}{$what}; } ...