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 feature qw< unicode_strings>; use charnames qw< :full>; use Tie::File; my ($i); my ( $FileName); my (@Tied); binmode STDOUT, ':unix:utf8'; binmode STDERR, ':unix:utf8'; binmode $DB::OUT, ':unix:utf8' 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\\FIBI OCR\\Work\\'. 'Tie File test res.txt'; tie @Tied, 'Tie::File', $FileName, recsep => "\x0D\x0A", discipline => ':encoding(utf8)' or confess 'tie @Tied failed'; $i =0; while () { chomp; $Tied[$i] = $_; ++$i; } # end while () $i =0; foreach (@Tied) { say "$i $Tied[$i]"; ++$i; } # end foreach (@Tied) untie $FileName; __DATA__ τι κάνετε; πάρτε το ή αφήστε το שלום חברים abc לא כןכן efg מתי ולאן This is it מעכשיו לעכשיו Σήμερα είναι Τρίτη Θέλω να φάω τι κάνετε; שורה מס' 5