Я хотел отсоединить мои исходные файлы. (Пожалуйста, не волнуйтесь о том, ПОЧЕМУ я хотел отключить свои источники. Это не главное :-) Я не смог найти утилиту для этого. Затмение не сделало это для меня, поэтому я реализовал свой собственный.
Я не смог вписать его в программу с одним вкладышем (-e).
Я пришел со следующим, который отлично справился с работой.
while( <> )
{
while( /\t/ ) {
s/^(([^\t]{4})*)\t/$1 /;
s/^((([^\t]{4})*)[^\t]{1})\t/$1 /;
s/^((([^\t]{4})*)[^\t]{2})\t/$1 /;
s/^((([^\t]{4})*)[^\t]{3})\t/$1 /;
}
print;
}
Тем не менее, меня интересует, является ли Perl - чемпионский язык обработки текста - правильным инструментом. Код кажется не очень элегантным. Если бы мне пришлось отсоединить источник, который предполагает таб = 8 пробелов, код выглядел бы еще хуже.
В частности, потому что я могу представить себе детерминированный конечный автомат с только 4 состояниями для выполнения работы.
У меня такое ощущение, что существует более элегантное решение. Я скучаю по Perl? В духе TIMTOWTDI меня интересуют другие способы сделать это.
и.