Помощь - Поиск - Пользователи - Календарь
Полная версия: perl, можно или еще короче ?)
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
klem4
Как говорит мой препод по никсам, это язык будущего smile.gif

Задачка собственно простейшая: ввести строку, подсчитать сколько в этой строке слов, длина которых не превышает 5. Решил попробовать сделать на Perl, интересно можно ли короче ?

#!/usr/bin/perl -w  
foreach (@words = split(/[.,;:!? ]+/, <>)) { chomp $_; $count += length($_) <= 5 ? 1 : 0; };
print "Count = $count\n";
exit;


После того что я видел, из того какие чудеса можно делать на этом языке, думаю что можно еще короче. Есть у кого мысли ?)
hiv
Цитата(klem4 @ 19.02.2008 11:58) *
Как говорит мой препод по никсам, это язык будущего smile.gif
Странный препод... Вот у меня был препод по ОБЖ, так он говаривал так - "На каждый газ - свой противогаз!"
Цитата(klem4 @ 19.02.2008 11:58) *
Есть у кого мысли ?)
Конечно есть ;)
Код
#!/usr/bin/perl

print length( join('', map( length($_) <= 5 ? '1' : '' , split(/[\n\t.,;:!? ]+/, <>)) ) )
__END__

klem4
классно)
klem4
Извиняюсь за некрофилию)) Зашел сегодня на форум и так как сейчас в основном пишу на perl, вспомнил про этот топик, так вот придумал такое решение:

Код
print  s/\b\w{5,}\b/$&/g;


cool.gif
Altair
\оффтоп\
Сторонний взгляд наблюдателя - отвратительный до тошноты язык.
klem4
офф
Да не, он на самом деле волшебный)))
xds
Цитата(Altair @ 25.01.2009 3:39) *

\оффтоп\
Сторонний взгляд наблюдателя - отвратительный до тошноты язык.
Для наблюдения - запросто. Для решения определенных задач - вполне ничего :-)
Altair
Цитата
Для решения определенных задач - вполне ничего :-)

Это вполне возможно smile.gif
renesko1
print s/\b\w{5,}\b/$&/g;
YYY.gif
Похоже на э(и)зетерический язык
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.