#!/usr/bin/perl -- use strict; use warnings; use Encode::Detect::Detector; use autodie qw/ open /; my $octets = 'abc'.chr(266).chr(666); my $filename = shift || \$octets; open my($infh), '<:raw', $filename ; my $d = new Encode::Detect::Detector; while(my $line = readline $infh ){ $d -> handle( $line ); } $d -> eof; close $infh; my $charset = $d->getresult; print "**$filename gots *".$charset."*\n";