use strict; use warnings; use 5.014; use Win32::Console; use autodie; use warnings qw< FATAL utf8 >; use Carp; use Carp::Always; use utf8; use Fcntl; use DB_File; use DBM_Filter; my ($i, $FileName); my (@Tied); binmode STDOUT, ':encoding(UTF-8)'; binmode STDERR, ':encoding(UTF-8)'; binmode $DB::OUT, ':encoding(UTF-8)' if $DB::OUT; # for the debugger Win32::Console::OutputCP(65001); # Set the console code page to UTF8 $FileName = 'E:\\My Documents\\Technical\\Perl\\Eclipse workspace\\Work\\'Tie File test.txt'; my $db = tie @Tied, 'DB_File', $FileName, O_CREAT | O_RDWR, 0644, $DB_RECNO; $db->Filter_Push('encode' => 'UTF-8'); while () { push @Tied, $_; } # end while () $i =0; foreach (@Tied) { print "$i $_"; ++$i; } # end foreach (@Tied) $db->Filter_Pop(); untie $FileName; __DATA__ τι κάνετε; πάρτε το ή αφήστε το שלום חברים abc לא כןכן efg מתי ולאן This is it מעכשיו לעכשיו Σήμερα είναι Τρίτη Θέλω να φάω τι κάνετε;