На самом деле я должен разбирать некоторые файлы, которые могут быть в любом виде endian (Big или Little). Perl-интерпретатор умирает, если я использую одну кодировку и разбираю другую.Как проверить perl, если файл написан как маленький endian или big endian?
open (my $fh, "<:raw:encoding(UTF-16LE):crlf", $ARGV[0]) or die cannot open file for reading : $! \n";
или
open (my $fh, "<:raw:encoding(UTF-16BE):crlf", $ARGV[0]) or die cannot open file for reading : $! \n";
выход (для файла в LE и способ кодирования в Perl BE)
UTF-16BE:Malformed HI surrogate dc00 at toASCII.pl line 123.
Возможный дубликат [Поиск, если система имеет малоконечный или большой аргумент с perl] (http://stackoverflow.com/questions/2610849/finding-if-the-system-is-little-endian-or-big -endian-with-perl) –
@EliSadoff Этот вопрос задает вопрос, как определить, является ли конкретный * файл * большим или маленьким, а не системой. – ThisSuitIsBlackNot
Почему «мои $ fh» в цитатах ?! : -O – choroba