The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Encode::Detect::Detector - Detects the encoding of data


  use Encode::Detect::Detector;
  my $charset = detect($octets);

  my $d = new Encode::Detect::Detector;
  my $charset = $d->getresult;


This module provides an interface to Mozilla's universal charset detector, which detects the charset used to encode data.


$charset = Encode::Detect::Detector->detect($octets)

Detect the charset used to encode the data in $octets and return the charset's name. Returns undef if the charset cannot be determined with sufficient confidence.

$d = Encode::Detect::Detector->new()

Creates a new Encode::Detect::Detector object and returns it.


Provides an additional chunk of data to be examined by the detector. May be called multiple times.

Returns zero on success, nonzero if a memory allocation failed.


Informs the detector that there is no more data to be examined. In many cases, this is necessary in order for the detector to make a decision on the charset.


Resets the detector to its initial state.


Returns the name of the detected charset or undef if no charset has (yet) been decided upon. May be called at any time.




John Gardiner Myers <>


For help and thank you notes, e-mail the author directly. To report a bug, submit a patch, or add to the wishlist please visit the CPAN bug manager at: