Это своего рода дополнительный вопрос к Perl: добавить символ в начало строки .
Ситуация
В существующем Perlскрипт У меня разумная длинная строка $str
, содержащая неизвестное количество разрывов строк (\n
).Теперь в конце строки есть разрыв строки.
$str = "Hello\nWorld.\nHow is it going?"
Проблема
Я хотел бы добавить определенное (постоянное) количество пробелов в началекаждая строка в строке: (в данном случае 3)
$str = " Hello\n World.\n How is it going?"
Первый подход Мой первый подход был следующим RegEx
$str =~ s/(.*?\n)/ \1/g;
И для кэширования последнегострока, которая не заканчивается новой строкой
$str =~ s/(.*)\n(.*)?$/\1\n \2/g;
Желание
Первая.Вышеуказанные строки работают отлично и делают именно то, что я и хотел.Но.Я знаю, что RegEx являются мощными, и, таким образом, я уверен, что можно сделать то же самое всего за один короткий RegEx.К сожалению, я пока не смог этого добиться.(Весьма вероятно, что я думаю, что это слишком сложно.)
Итак, какие возможности есть у этой проблемы?
Спасибо за любой ответ.