#!/usr/bin/perl use warnings; use strict; use Encode; use Encode::Guess; open (DATA, "<:utf8", "a.txt") or die $!; binmode DATA, ":utf8"; my $line = ; while($line){ my $decoder = guess_encoding($line); if (ref($decoder) eq 'Encode::utf8'){ print "File is in UTF-8\n"; #doing something } $line = ; } __END__