Your SlideShare is downloading. ×
  • Like
Present saint-per3-by-pavel-vlasov
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Present saint-per3-by-pavel-vlasov

  • 596 views
Published

Perl quiz and tricks …

Perl quiz and tricks
Conference Saint Perl 3 (18.12.2011)

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
596
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Особенности и головоломки Perl Perl workshop Санкт-Петербург Павел Власов, 2011Особенности и головоломки Perl Павел Власов 1
  • 2. Содержание1. Хитрости2. Головоломки3. Новые возможности PerlОсобенности и головоломки Perl Павел Власов 2
  • 3. 1. Отладка регулярных выражений• use re ‘debug’• perldoc re• Если Perl скомпилирован с -DDEBUGGING используйте $ perl -Dr my $regexp = qr/[ab]cd*e{2,3}$/; my $text = ‘bcdee’; $text =~ $regexp;Особенности и головоломки Perl Павел Власов 3
  • 4. 1. Отладка регулярных выраженийВо время выполнения (run time) STRING-OFFSET <PRE-STRING> <POST-STRING> |ID: TYPE Matching REx "[ab]cd*e{2,3}$" against "bcdee" 0 <> <bcdee> | 1:ANYOF[ab][](12) 1 <b> <cdee> | 12:EXACT <c>(14) 2 <bc> <dee> | 14:STAR(17) EXACT <d> can match 1 times out of 2147483647... 3 <bcd> <ee> | 17: CURLY {2,3}(21) EXACT <e> can match 2 times out of 3... 5 <bcdee> <> | 21: EOL(22) 5 <bcdee> <> | 22: END(0) Match successful! Freeing REx: "[ab]cd*e{2,3}$"Особенности и головоломки Perl Павел Власов 4
  • 5. 2. Cила sitecustomize.pl• Влияет на все выполняемые сценарии Perl• Параметр: $Config{usesitecustomize}• Путь: $Config{sitelib}/sitecustomize.pl• Отключение данной опции $ perl -f• $perldoc perlrunОсобенности и головоломки Perl Павел Власов 5
  • 6. 3. Может партию в козла =()=• Оператор похожий на голову козлаmy $items = ( my @date = localtime );my $items =()= localtime;my $count =()= split /:/, $line;Особенности и головоломки Perl Павел Власов 6
  • 7. 4. Последнее выполненное выражениеsay check(4);say check(3);sub check { my $num = shift; unless ($num % 2) { return OK; }}Особенности и головоломки Perl Павел Власов 7
  • 8. 5. @_ внутри и вне функцииmy @array = (1, 2, 3);change_array(@array); say " After: @array";sub change_array { push @_, 4; say "Inside: @_";}Особенности и головоломки Perl Павел Власов 8
  • 9. 6. Оператор диапазонаmy $number = (1 .. 4);say $number;.. – Оператор диапазона в скалярном контексте$ perldoc perlopОсобенности и головоломки Perl Павел Власов 9
  • 10. 6. Оператор диапазона• Используем для чтения файлов (flip flop)while(<$file>) { chomp; if (/START/ .. /END/) { say $_; }}Особенности и головоломки Perl Павел Власов 10
  • 11. 7. Хэши и оператор (smartmatching)my %hash1 = (one => 1, two => 2);my %hash2 = (one => 1, two => 3);say ‘верно!’ if %hash1 ~~ %hash2;Особенности и головоломки Perl Павел Власов 11
  • 12. 8. Модуль Data::Printer• use Data::Printer• легко использовать p($object)• подсветка структуры• настройка фильтровОсобенности и головоломки Perl Павел Власов 12
  • 13. 8. Модуль Data::Printer примерОсобенности и головоломки Perl Павел Власов 13
  • 14. 9. Удобный модуль local::lib• Управление модулями без привилегий root• Устанавливаем local::lib$perl -Mlocal::lib -MCPAN -eshell$perl -Mlocal::lib your_script.plОсобенности и головоломки Perl Павел Власов 14
  • 15. 10. perlbrew Не нужно привилегий sudo Использование различных версий Perl Легкое переключение между версиями$ perbrew install perl-5.14.2$ perbrew switch perl-5.14.2$ perlbrew exec myprogram.plwww.perlbrew.plОсобенности и головоломки Perl Павел Власов 15
  • 16. Использованные ресурсы• www.effectiveperlprogramming.com• www.perl-buzz.org• www.perlhacks.org• www.perlbrew.pl• www.modernperlbooks.comОсобенности и головоломки Perl Павел Власов 16
  • 17. Спасибо за внимание!paul.vlasov@gmail.comОсобенности и головоломки Perl Павел Власов 17