The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"OpenNews: Perl для начинающих в примерах"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [Проследить за развитием треда]

"OpenNews: Perl для начинающих в примерах"
Сообщение от opennews on 04-Окт-05, 20:27 
Открылся новый сайт perlmeme.org (http://perlmeme.org/) для начинающих программировать на языке Perl.  Представлены ответы на часто возникающие вопросы, заметки, описание конструкций с примерами кода, демонстрации кода для таких операций как сортировка, работа с БД, парсинг разных форматов  и т.д.

URL: http://perlmeme.org/
Новость: http://www.opennet.ru/opennews/art.shtml?num=6185

Cообщить модератору | Наверх | ^

 Оглавление

Сообщения по теме [Сортировка по ответам]

1. "Perl для начинающих в примерах"
Сообщение от Mikk email on 04-Окт-05, 20:27 
Ну-у... сайт-то на английском :-(
На английском начинающим и Learning Perl почитать неплохо.
Cообщить модератору | Наверх | ^

3. "Perl для начинающих в примерах"
Сообщение от northbear (??) on 04-Окт-05, 23:38 
Нормально-нормально, не все же такие неучи как вы. А знание аглийского еще не означает однозначного знаня Perl'а... :)

А то некоторые переводы, особенно для начинающих... :(( Таких переводчиков нужно убивать пока они еще маленькие. Сами бы попробовали чему-нибудь научиться по результатам своих творений. А потом люди думают, что программирование это страшно и ужасно...

Cообщить модератору | Наверх | ^

4. "Perl для начинающих в примерах"
Сообщение от пингвин on 05-Окт-05, 00:29 
Но это действительно страшно и ужасно... жалею что изучал программирование, а не искусство бонсай например =\
Cообщить модератору | Наверх | ^

5. "Perl для начинающих в примерах"
Сообщение от acronym on 05-Окт-05, 01:14 
perl-то perlом, ему не убудет. Вот зачем 2 запятые пропустил? Разве так надо?
Жалей сначала, что не доизучал язык, на котором выражаешься:]
Cообщить модератору | Наверх | ^

6. "Perl для начинающих в примерах"
Сообщение от аноним on 05-Окт-05, 06:08 
Там все примеры начинаются строкой #!/usr/bin/perl
Уж лучше с man perlintro начинать изучать Perl, там первая строка #!/usr/bin/env perl
Cообщить модератору | Наверх | ^

7. "Perl для начинающих в примерах"
Сообщение от Los on 05-Окт-05, 08:13 
Важно не то, что пишете в первой строке: это от типа shell зависит, а что пишете во второй и последующих.
Cообщить модератору | Наверх | ^

8. "Perl для начинающих в примерах"
Сообщение от аноним on 05-Окт-05, 11:11 
То, что пишется в первой строке тоже важно. Perl пока что не является частью POSIX и поэтому совсем не обязательно должен находиться в /usr/bin. Хороший стиль программирование, в частности правильное написание первой строки, лучше выработать в себе изначально.
Cообщить модератору | Наверх | ^

9. "Perl для начинающих в примерах"
Сообщение от krz email(??) on 05-Окт-05, 12:16 
жаль что на русском таких вещей малова-то. Буквально недавно наткнулся на подобное, но вот незадача - отсканировали книжку с кучей сиволов, смотришь в примеры и ужасаешся толи это регулярное выражение, толи плохо распознаные сиволы, всё таки на буржуйском читать гораздо приятнее.
Cообщить модератору | Наверх | ^

10. "Perl для начинающих в примерах"
Сообщение от deskpot email on 05-Окт-05, 13:03 
хе. а помните, какой флейм был зимой во freebsd-stable по поводу возможности выброса симлинка который /usr/bin/perl by default?

если не помните -- рекомендую почитать. там и статистика по перл-скриптам и то, насколько древнее каждое из выражений (perl vs sh vs env) и много чего интересного.

начать можно отсюда: http://lists.freebsd.org/pipermail/freebsd-perl/2005-January/000442.html

Cообщить модератору | Наверх | ^

11. "Стиль мешает производительности"
Сообщение от Аноним on 05-Окт-05, 13:21 
>/usr/bin. Хороший стиль программирование, в частности правильное написание первой строки, лучше
>выработать в себе изначально.

Вам нужно на каждый запуск скрипта тратить ресурсы на запуск программы env ? Мне нет, поэтому всегда буду писать #!/usr/bin/perl


Cообщить модератору | Наверх | ^

12. "Perl для начинающих в примерах"
Сообщение от Аноним on 05-Окт-05, 13:22 
>Ну-у... сайт-то на английском :-(
>На английском начинающим и Learning Perl почитать неплохо.

Прелесть ресурса в примерах, там можно не зная английский многим вещам научиться.

Cообщить модератору | Наверх | ^

13. "Стиль мешает производительности"
Сообщение от аноним on 05-Окт-05, 14:02 
> Вам нужно на каждый запуск скрипта тратить ресурсы на запуск программы env ? Мне нет, поэтому всегда буду писать #!/usr/bin/perl

Мне нужны портабельные скрипты. На запуск программы env тратится примерно столько же ресурсов, как на запуск Hello world. При случае посмотрите её исходники. Не понимаю, почему многочисленные дистроклепатели не устанавливали perl в /usr/local/bin изначально. Если бы они так делали, не было бы сейчас никаких проблем писать #!/usr/local/bin/perl везде и всегда.

Cообщить модератору | Наверх | ^

14. "Стиль мешает производительности"
Сообщение от Аноним on 05-Окт-05, 14:26 
>Мне нужны портабельные скрипты. На запуск программы env тратится примерно столько же
>ресурсов, как на запуск Hello world. При случае посмотрите её исходники.

Сами посмотрите, env по тупому пытается делать execv во всех "bin" директориях, и поверьте запуск из /usr/bin там не на первом месте. Загрузка от лишнего fork на этом фоне меркнет.

strace env blablabla 2> strace.log

$ grep exec strace.log |wc
28  

$ grep open strace.log |wc
37  

"Hello world" говорите ?

Cообщить модератору | Наверх | ^

15. "Стиль мешает производительности"
Сообщение от аноним on 05-Окт-05, 20:45 
Я не знаю в какой системе вы это проверяли и почему в Вашем strace.log так много вызовов exec и open. Полагаю, что это проблема Вашей системы, а не Perl. Вот какие результаты я получил в FreeBSD 6.0-BETA5:

> truss -o truss.out env aaaa
env: aaaa: No such file or directory
> cat truss.out
mmap(0x0,3600,(0x3)PROT_READ|PROT_WRITE,(0x1000)MAP_ANON,-1,0x0) = 671535104 (0x2806d000)
munmap(0x2806d000,0xe10)                         = 0 (0x0)
__sysctl(0xbfbfe728,0x2,0x28069998,0xbfbfe724,0x0,0x0) = 0 (0x0)
mmap(0x0,32768,(0x3)PROT_READ|PROT_WRITE,(0x1002)MAP_ANON|MAP_PRIVATE,-1,0x0) = 671535104 (0x2806d000)
issetugid()                                      = 0 (0x0)
open("/etc/libmap.conf",0x0,0666)                ERR#2 'No such file or directory'
open("/var/run/ld-elf.so.hints",0x0,00)          = 4 (0x4)
read(0x4,0xbfbfe6f0,0x80)                        = 128 (0x80)
lseek(4,0x80,SEEK_SET)                           = 128 (0x80)
read(0x4,0x28072000,0x56)                        = 86 (0x56)
close(4)                                         = 0 (0x0)
access("/lib/libc.so.6",0)                       = 0 (0x0)
open("/lib/libc.so.6",0x0,00)                    = 4 (0x4)
fstat(4,0xbfbfe730)                              = 0 (0x0)
read(0x4,0x280688e0,0x1000)                      = 4096 (0x1000)
mmap(0x0,880640,(0x5)PROT_READ|PROT_EXEC,(0x20002)MAP_NOCORE|MAP_PRIVATE,4,0x0) = 671567872 (0x28075000)
mprotect(0x28133000,4096,(0x7)PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
mprotect(0x28133000,4096,(0x5)PROT_READ|PROT_EXEC) = 0 (0x0)
mmap(0x28134000,20480,(0x3)PROT_READ|PROT_WRITE,(0x12)MAP_FIXED|MAP_PRIVATE,4,0xbf000) = 672350208 (0x28134000)
mmap(0x28139000,77824,(0x3)PROT_READ|PROT_WRITE,(0x1012)MAP_ANON|MAP_FIXED|MAP_PRIVATE,-1,0x0) = 672370688 (0x28139000)
close(4)                                         = 0 (0x0)
sysarch(0xa,0xbfbfe7a0)                          = 0 (0x0)
mmap(0x0,344,(0x3)PROT_READ|PROT_WRITE,(0x1000)MAP_ANON,-1,0x0) = 672448512 (0x2814c000)
munmap(0x2814c000,0x158)                         = 0 (0x0)
mprotect(0x28075000,782336,(0x7)PROT_READ|PROT_WRITE|PROT_EXEC) = 0 (0x0)
mmap(0x0,22152,(0x3)PROT_READ|PROT_WRITE,(0x1000)MAP_ANON,-1,0x0) = 672448512 (0x2814c000)
munmap(0x2814c000,0x5688)                        = 0 (0x0)
mprotect(0x28075000,782336,(0x5)PROT_READ|PROT_EXEC) = 0 (0x0)
sigprocmask(0x1,0x28068820,0xbfbfe770)           = 0 (0x0)
sigprocmask(0x3,0x28068830,0x0)                  = 0 (0x0)
execve("/sbin/aaaa",<missing argument>,<missing argument>)
execve("/sbin/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
execve("/bin/aaaa",<missing argument>,<missing argument>)
execve("/bin/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
execve("/usr/sbin/aaaa",<missing argument>,<missing argument>)
execve("/usr/sbin/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
execve("/usr/bin/aaaa",<missing argument>,<missing argument>)
execve("/usr/bin/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
execve("/usr/games/aaaa",<missing argument>,<missing argument>)
execve("/usr/games/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
execve("/usr/local/sbin/aaaa",<missing argument>,<missing argument>)
execve("/usr/local/sbin/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
execve("/usr/local/bin/aaaa",<missing argument>,<missing argument>)
execve("/usr/local/bin/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
execve("/usr/X11R6/bin/aaaa",<missing argument>,<missing argument>)
execve("/usr/X11R6/bin/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
execve("/home/user/bin/aaaa",<missing argument>,<missing argument>)
execve("/home/user/bin/aaaa",<missing argument>,<missing argument>) ERR#2 'No such file or directory'
write(2,0xbfbfe2b0,5)                            = 5 (0x5)
write(2,0xbfbfe2d0,4)                            = 4 (0x4)
write(2,0x2812d264,2)                            = 2 (0x2)
write(2,0xbfbfe2b0,26)                           = 26 (0x1a)
exit(0x7f)                                      
process exit, rval = 32512

Как видете, в наихудьшем случае количество вызовов execve() равно количеству путей в PATH и до /usr/local/bin можно добраться всего за 6 вызовов execve(). Я не вижу тут какого-то особенного использования ресурсов. Тоесть от использования env(1) гораздо больше пользы чем вреда. Поэтому рекомендации авторов perlintro вполне уместны и полезны. Повторяю, бардак с размещением perl устроен дистроклепателями. Вот пусть они с ним и разбераются - перемещают perl в /usr/local/bin или делают там симлмнк на него. Почему из-за них нормальные системы должны поддерживать нестандартное размещение программ?

Cообщить модератору | Наверх | ^

16. "Стиль мешает производительности"
Сообщение от Anonymous on 05-Окт-05, 22:07 
Cтоп-стоп, а от куда ядро знает где команда env лежит ? Насколько я помню после #! по стандарту должен быть полный путь к интерпретатору, а env - это хак. Из огня да в полымя получается.
Cообщить модератору | Наверх | ^

17. "Стиль мешает производительности"
Сообщение от аноним on 06-Окт-05, 03:57 
Как откуда? После #! полный к путь env как раз и прописывается:
#!/usr/bin/env perl
Cообщить модератору | Наверх | ^

18. "Perl для начинающих в примерах"
Сообщение от Simon Taylor email on 06-Окт-05, 15:55 
> жаль что на русском таких вещей малова-то.
> Буквально недавно наткнулся на подобное, но вот
> незадача - отсканировали книжку с кучей сиволов,
> смотришь в примеры и ужасаешся толи это гулярное > выражение, толи плохо распознаные сиволы, всё
> таки на буржуйском читать гораздо приятнее.

Здравствулте!

(Hello)

Мы смотрим для людей имеют хорошее вникание английского и русского. Мы хотим перевести некоторые из наших страниц на http://www.perlmeme.org в другие языки, such as русский, Отношения,

Портной Simon

(We are looking for people who have a good understanding of English and Russian.

We want to translate some of our pages at
http://www.perlmeme.org into other languages,
such as Russian,

Regards,

Simon Taylor)

simon@unisolve.com.au

Cообщить модератору | Наверх | ^

19. "Perl для начинающих в примерах"
Сообщение от anonym email on 06-Окт-05, 20:58 
А почему бы, господа, хая переводчиков самим не примкнуться к переводчикам? Время тратить жалко видимо. Так вот пока толковые люди не будут уделять подобным проектам внимания так оно и будет. Ситуация с ошибками в переводе помню натыкался и в c++, правда есть такая мудрость у писателей подобных обучающих программингу материалов - спецом давать грабли, чтобы чердак слетал и кругом шел и тема усваивалась.
Cообщить модератору | Наверх | ^


Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру