У меня есть несколько строк текста, которые я пытаюсь использовать функцией разделения Perl для преобразования в массив.Проблема в том, что я получаю некоторые необычные дополнительные символы в выводе, в частности, следующую строку "\ cM" (без кавычек).Эта строка появляется там, где в исходном тексте были разрывы строк;однако (я считаю) эти разрывы строк были удалены в тексте, который я пытаюсь разбить.Кто-нибудь знает, что происходит с этим явлением?Я разместил пример ниже.Спасибо.
Вот оригинальный текст, который я пытаюсь разделить.Я загружаю его из файла, на случай, если это имеет значение:
10b2obo12b2o2b$6b3obob3o8bob3o2b$2bobo10bo3b2obo4bo2b$2o4b2o5bo3b4obo
3b2o2b$2bob2o2bo4b3obo5b4obob$8bo4bo13b3o$2bob2o2bo4b3obo5b4obob$2o4b
2o5bo3b4obo3b2o2b$2bobo10bo3b2obo4bo2b$6b3obob3o8bob3o2b$10b2obo12b2o!
Вот мой код Perl, который должен выполнять разбиение:
while(<$FH>) {
chomp;
$string .= $_;
last if m/!$/;
}
@rows = split(qr/\$/, $string);
print; # a dummy line to provide a breakpoint for the debugger
Это то, что выводит отладчиккогда доходит до строки «печать».Проблема, с которой я пытаюсь разобраться, появляется в строках 3, 7 и 10:
DB<10> p $string
2o5bo3b4obo3b2o2b$2bobo10bo3b2obo4bo2b$6b3obob3o8bob3o2b$10b2obo12b2o!
DB<11> x @rows
0 '10b2obo12b2o2b'
1 '6b3obob3o8bob3o2b'
2 '2bobo10bo3b2obo4bo2b'
3 "2o4b2o5bo3b4obo\cM3b2o2b"
4 '2bob2o2bo4b3obo5b4obob'
5 '8bo4bo13b3o'
6 '2bob2o2bo4b3obo5b4obob'
7 "2o4b\cM2o5bo3b4obo3b2o2b"
8 '2bobo10bo3b2obo4bo2b'
9 '6b3obob3o8bob3o2b'
10 "10b2obo12b2o!\cM"