IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> perl, можно или еще короче ?)
klem4
сообщение 19.02.2008 11:58
Сообщение #1


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Как говорит мой препод по никсам, это язык будущего smile.gif

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

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


После того что я видел, из того какие чудеса можно делать на этом языке, думаю что можно еще короче. Есть у кого мысли ?)


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
hiv
сообщение 19.02.2008 16:16
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(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__



--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 14:31
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"