Замена строки в Perl Regex не распознает подчеркивания в строке

print open('file.txt', 'r').read().count("\n") + 1
0
задан user115657 18 January 2019 в 15:01
поделиться

1 ответ

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и move() пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

move($orig, 

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и move() пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

, вы меняете имя каталога, и move() пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

) or die "Could not move $orig to

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и move() пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

, вы меняете имя каталога, и move() пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

: $!";

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

, вы меняете имя каталога, и move() пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на $dir перед вызовом glob() (и затем удалить $dir/ из параметра, который вы передаете glob()).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение move() и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав $orig и

Проблема в том, что имя вашего каталога содержит подчеркивание. Поэтому, когда вы удаляете все подчеркивания из [111], вы меняете имя каталога, и [112] пытается переместить переименованный файл в переименованный каталог, который (предположительно) не существует.

Одним из решений является использование File :: Basename для разделения [113] на имя каталога и имя файла и только для изменения имени файла.

Другим решением было бы изменить каталог на [114] перед вызовом [115] (и затем удалить [116] из параметра, который вы передаете [117]).

Возможно, вы видели, в чем проблема, вы проверили возвращаемое значение [118] и отобразили соответствующее сообщение об ошибке.

[110]

Также обратите внимание, что, распечатав [119] и [1110] перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

перед вызовом move(), вы бы a) возможно увидели, в чем проблема, и b) поняли, что проблема не имеет ничего общего со строкой Perl. замена (как вы могли видеть, что замена была проведена успешно). Это, безусловно, базовая практика отладки, которая позволила бы (по крайней мере) избежать публикации вопроса с полностью вводящим в заблуждение названием: -)

0
ответ дан Dave Cross 18 January 2019 в 15:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: