open(my $fh, '>:encoding(utf-8)', $file_name) || die "Can't open(> $file_name): $!";

$csv -> combine(qw/common_name attribute_name range/);

print $fh $csv -> string, "\n";

my($attribute_name);
my($common_name);
my($range);

for my $attribute (@{$data{attributes} })
{
	$attribute_name	= $$attribute{attribute_name};
	$common_name	= $$attribute{common_name};
	$range			= $$attribute{range};

	if ($attribute_name eq 'edible')
	{
		$range = 'No' if ($range eq '');
	}
	else
	{
		$range = 'Unknown' if ($range eq '');
	}

	$csv -> combine
	(
		$common_name,
		$attribute_name,
		$range,
	);

	print $fh $csv -> string, "\n";
}

close($fh);