Используйте угловые кавычки, а не двойные кавычки:
open(my $fh, "< :crlf :encoding(cp1252)",
<~/Documents/file.txt>)
|| die "couldn't open Winblose text file ~/Documents/file.txt: $!";
Итерационный оператор <xxx>
, который люди обычно считают синтаксическим сахаром для функции readline
, вместо этого вызывает glob
функционирует, если в xxx есть метачары оболочки, и тильда считается одним из них.
Вы можете предпочесть открытый режим <:encoding(Latin1)
.Это зависит только от файла.