87
Perl для не программистов

Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Embed Size (px)

DESCRIPTION

- Как создать презентацию не вылезая из любимого текстового редактора (notepad++, padre, vim). - Как perl помогает автоматизировать работу без написания кода. - Пара скриптов, которые облегчают работу на разных платформах. - Те же скрипты на perl6. - Автоматизация и тестирование Firefox.

Citation preview

Page 1: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Perl для не программистов

Page 2: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Perl для не программистов

для ленивых

Page 3: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Perl для не программистов

для ленивых

для путешественников

Page 4: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Perl для не программистов

для ленивых

для путешественников

для не трудоголиков

Page 5: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Perl для не программистов

для ленивых

для путешественников

для не трудоголиков

для тех, кто не любит кодить

Page 6: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Perl для не программистов

для ленивых

для путешественников

для не трудоголиков

для тех, кто не любит кодить

кто хочет работать 1 час в

день;))

Page 7: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

moscow.pm

pause id: mishin

РД Консалтинг ETL Informatica PC, Oracle

[email protected] github.com/mishin

mishin.narod.ru nmishin.livejournal.com/

twitter.com/nmishin

Page 8: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

- Как создать презентацию не вылезая из любимого

текстового редактора (notepad++, padre, vim).

Page 9: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

- Как создать презентацию не вылезая из любимого

текстового редактора (notepad++, padre, vim).

- Как perl помогает автоматизировать работу без

написания кода.

Page 10: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

- Как создать презентацию не вылезая из любимого

текстового редактора (notepad++, padre, vim).

- Как perl помогает автоматизировать работу без

написания кода.

- Пара скриптов, которые облегчают работу на разных

платформах.

Page 11: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

- Как создать презентацию не вылезая из любимого

текстового редактора (notepad++, padre, vim).

- Как perl помогает автоматизировать работу без

написания кода.

- Пара скриптов, которые облегчают работу на разных

платформах.

- Те же скрипты на perl6.

Page 12: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

- Как создать презентацию не вылезая из любимого

текстового редактора (notepad++, padre, vim).

- Как perl помогает автоматизировать работу без

написания кода.

- Пара скриптов, которые облегчают работу на разных

платформах.

- Те же скрипты на perl6.

- Автоматизация и тестирование Firefox.

Page 13: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Помните Ригу?

Page 14: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

1) Stump

Page 15: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

stump.input <<

This is a Sample Stump Speech!

This is the first slide...

Wanna See a Picture?

There's One on the next Slide:

i:picture.jpg

>>

Page 16: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Не работает под windows

stump init

Can't open file 'stump.input' for output:

Permission denied at

C:/Share/Dwimperl/perl/site/lib/Stump.pm line 188

io("$target")->assert->print($file->all);

, хотя http://static.cpantesters.org/

Page 17: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 18: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Тесты под него походят, хотя это и

неудивительно, ведь там 1 тест

use_ok.t

Да и к тому же

Page 19: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 20: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Кстати, сейчас я работаю под виндоус

http://dwimperl.com/

Page 21: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl -e "print $^O"

Page 22: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl -e "print $^O" MSWin32

Page 23: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl -e "print $^O" MSWin32

perl -e "use English qw' -no_match_vars ';print

qq{$OSNAME};"

Page 24: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl -e "print $^O" MSWin32

perl -e "use English qw' -no_match_vars ';print

qq{$OSNAME};" MSWin32

Page 25: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl -e "print $^O" MSWin32

perl -e "use English qw' -no_match_vars ';print

qq{$OSNAME};" MSWin32

perl -e "use Config;print

qq{$Config{osname}\n};print

qq{$Config{archname}\n};"

Page 26: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl -e "print $^O" MSWin32

perl -e "use English qw' -no_match_vars ';print

qq{$OSNAME};" MSWin32

perl -e "use Config;print

qq{$Config{osname}\n};print

qq{$Config{archname}\n};"

MSWin32

MSWin32-x86-multi-thread

Page 27: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl -e "print $^O" MSWin32

perl -e "use English qw' -no_match_vars ';print

qq{$OSNAME};" MSWin32

perl -e "use Config;print

qq{$Config{osname}\n};print

qq{$Config{archname}\n};"

MSWin32

MSWin32-x86-multi-thread

perl -e "use Sys::Info::OS;my $os = Sys::Info::OS-

>new(%options);print $os->name( long => 1 );"

Page 28: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl -e "print $^O" MSWin32

perl -e "use English qw' -no_match_vars ';print

qq{$OSNAME};" MSWin32

perl -e "use Config;print

qq{$Config{osname}\n};print

qq{$Config{archname}\n};"

MSWin32

MSWin32-x86-multi-thread

perl -e "use Sys::Info::OS;my $os = Sys::Info::OS-

>new(%options);print $os->name( long => 1 );"

Windows XP Service Pack 3 build 2600

Page 29: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

2) OpenOffice::OODoc

Page 31: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

2) OpenOffice::OODoc

This is a Sample Stump Speech!

This is the first slide...

Wanna See a Picture?

There's One on the next Slide:

i:picture.jpg

Page 33: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

https://rt.cpan.org/Public/Bug/Display.html?id=577

12

OpenOffice::OODoc in not

compatible with the last

OpenOffice.org "extended 1.2"

ODF format.

Page 35: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 36: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 37: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 38: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 39: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 40: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 41: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

perl create_pdf.pl

Page 42: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 43: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 44: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 45: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Правда пока я писал презентацию Indy написал

Vroom - Slide Shows in Vim

На это надо будет посмотреть

ingydotnet/vroom-pm

https://github.com/ingydotnet/vroom-pm

Page 46: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

- Как perl помогает автоматизировать работу без

написания кода.

Page 47: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 48: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 49: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 50: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

https://github.com/dk

Page 52: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 53: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 54: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 55: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 56: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 57: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 58: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Жмем Ctrl+Alt+R

Page 59: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 60: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

https://gist.github.com/mishin/5919976 replace_shortcut.pl

Page 61: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 62: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 63: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Создаем ассоциацию расширения .pl с perl.exe

Page 64: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Создаем ассоциацию расширения .pl с perl.exe

assoc .pl=PerlScript

Page 65: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Создаем ассоциацию расширения .pl с perl.exe

assoc .pl=PerlScript

ftype PerlScript=c:\Share\Dwimperl\perl\bin\perl.exe "%1"

%*

Page 66: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Создаем ассоциацию расширения .pl с perl.exe

assoc .pl=PerlScript

ftype PerlScript=c:\Share\Dwimperl\perl\bin\perl.exe "%1"

%*

set PATHTEXT=%PATHTEXT%;.PL

Page 67: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Создаем ссылку на файл в папке стандартные

Page 68: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Задаем клавиатурную комбинацию для быстрого запуска

Page 69: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

- Пара скриптов, которые облегчают работу на разных

платформах.

Page 70: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Организация ежедневных записей по работе

https://gist.github.com/mishin/5853196

create_today_file.pl висит на ctrl-alt-t

Page 71: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 72: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Ctrl-D

Page 73: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 74: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

create_today_file.p6

Page 75: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

create_today_file.p6

Perl6 жив!!!

Page 77: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

create_today_file.p6

Perl6 жив!!!

http://perl6maven.com/getting-

started-with-rakudo-star-2013-01-

on-windows

установщик модулей panda

тоже работает

Page 78: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

create_today_file.p6

https://gist.github.com/mishin/5920950

Page 79: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

Хотелось бы синхронизировать с

google documents

Есть googlecl (Command line tools

for the Google Data APIs)

использующий web-services

Думаю, что это можно написать на

perl

Page 80: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

- Автоматизация и тестирование Firefox.

используя модуль WWW::Mechanize::Firefox

Нужно установить допольнение к firefox

http://wiki.github.com/bard/mozrepl

https://addons.mozilla.org/en-US/firefox/addon/mozrepl/

Page 81: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 82: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 83: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

И модуль cpanm WWW::Mechanize::Firefox

(p.s. cpanm ставится: cpan App::cpanminus)

https://gist.github.com/mishin/5925468

Скачиваем первые 10 ссылок с яндекса:

Page 84: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 85: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Page 86: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

WWW::Mechanize::Firefox

это удобно, когда ваш выход в интернет идет через кучу

прокси и libwwwperl их просто не может прожевать

Page 87: Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013

moscow.pm

pause id: mishin

РД Консалтинг ETL Informatica PC, Oracle

[email protected] https://github.com/mishin

mishin.narod.ru

Спасибо за внимание