домашнее задание: http://www.cs.rit.edu/~waw/networks/prob1.082.html
Хорошо, я все еще не понимаю, почему этот вопрос был задан для моего класса передачи данных и сетей, но вот вопрос из моей домашней работы:
Напишите компьютерную программу, которая читает заголовок сообщения электронной почты и
удаляет все строки, кроме тех, которые
начать с
From :, To :, Subject: и Cc:.
КОНКУРС - Кто может написать самый короткий
программа, которая делает это.
Поэтому, подумав немного, я решил, что следующий код на Perl настолько мал, насколько я мог это сделать.
#!/usr/bin/perl
while (<>) { print "$_" if ($_ =~ m/^(To:|From:|Subject:|Cc:)/); }
Все, что это делает, действует как фильтр, для которого единственным выходом являются строки, начинающиеся с From :, To :, Subject: и Cc:, как указано в вопросе. Поскольку никаких конкретных подробностей нет, я думаю, что приведенный выше код работает, по крайней мере, для правильного ответа на вопрос.
Теперь, мне интересно, насколько маленькая программа могла бы быть написана для этого? Я могу понять, если никто не хочет публиковать код, потому что они думают, что я буду использовать его для назначения, но я более или менее ищу предложения и методы, которые могли бы помочь мне написать самую короткую возможную программу.
Кроме того, я совершенно точно уверен, что он ссылается на фактическую длину кода. Он упомянул, что скриптовые языки были подходящим вариантом, поэтому я сомневаюсь, что он рассматривает что-то вроде накладных расходов, связанных с переводчиком. Это также означает, что ему все равно, какой язык используется.
Спасибо за внимание!
РЕДАКТИРОВАТЬ: Спасибо за предложения! Я уже давно читаю вопросы здесь, надеюсь, в будущем я смогу внести еще больший вклад. Кроме того, некоторые из предложений я урезал свой код Perl до 55 байт. Я не думаю, что нам нужно иметь дело с чем-то вроде многострочного заголовка.
БОНУС: Кто может найти вескую причину, почему это было задано в классе, где мы обсуждаем такие вещи, как коммутация пакетов и архитектура клиент / сервер?
EDIT2: Для протокола, мой профессор сказал, что кто-то сделал это с чем-то вроде 55 байтов. Единственный способ, которым я вижу это как возможное, - это если бы он только попросил простую реализацию, подобную приведенной выше.