#!/usr/bin/perl use strict; use warnings; use utf8; use Encode qw(decode); use Class::CSV; my $csv = Class::CSV->new( filename => 'test.csv', fields => [qw/item qty/], ); t1($csv); t2($csv); $csv->print(); sub t1 { my $csv = shift; $csv->add_line({ item => "ütem", qty => '2' }); } sub t2 { my $csv = shift; $csv->add_line({ item => decode('UTF-8', "ütem"), qty => '2' }); }