SlideShare una empresa de Scribd logo
1 de 160
Descargar para leer sin conexión
s/5/6/
Perl 6
Perl 6
Дизайн
Perl 6
Дизайн Реализация
Apocalypses,
Exegeses,
Synopses
STD.pm
Pugs
svn co http://svn.pugscode.org/pugs
cd pugs
perl Makefile.PL
make
make test
svn co http://svn.pugscode.org/pugs
cd pugs
perl Makefile.PL
make
make test
install GHC
. . .
. . .
Rakudo
svn co https://svn.perl.org/parrot/
                        trunk parrot
perl Configure.pl
make
cd languages/perl6/
make perl6
./perl6
perl6.exe
Программа
Компилятор
Виртуальная машина
Байт-код
Программа
Компилятор
Виртуальная машина
Байт-код
Basic
Forth
Jako
Lisp
m4
Ook
Perl 6
Perl 5
Python
Ruby
Scheme
Tcl
Basic
Forth
Jako
Lisp
m4
Ook
Perl 6
Perl 5
Python
Ruby
Scheme
Tcl
байт-код
Basic
Forth
Jako
Lisp
m4
Ook
Perl 6
Perl 5
Python
Ruby
Scheme
Tcl
LOL-код
Хаффманизизация
print "Hello, World!";
say "は、ラクダの方法";
"は、ラクダの方法".say;
my $ναριαβλε =
   "は、ラクダの方法";
$str.chars;
$str.bytes;
$str.glyphs;
my $lang = "Perl 5";
$lang++;
say $lang;
my @arr = (0..5);
say $arr[2];
my @arr = (0..5);
say @arr[2];
my @arr = (0..5);
say @arr[2, 3];
my @arr = (0..5);
say @arr.elems;
my %hash = (
    city => "Rostov‐on‐Don",
    year => 2008
);
say $hash{city};
my %hash = (
    city => "Rostov‐on‐Don",
    year => 2008
);
say %hash<city>;
my %hash = 
    city => "Rostov‐on‐Don",
    year => 2008
;
say %hash<city year>;
my %hash = 
    city => "Rostov‐on‐Don",
    year => 2008
;
say %hash.kv;
if ($latitude > 47.2 &&
    $latitude < 47.3) {
    print "Rostov‐on‐Donn";
}
if 47.2 < $latitude < 47.3 {
    say "Rostov‐on‐Don";
}
Контексты
my @array = (5..10);
say ~@array;
   5 6 7 8 9 10
my @array = (5..10);
say +@array;
   6
my @array = (5..10);
say ~ hash @array;
   5  6
   7  8
   9  10
my @array = (5..10);
say ?+@array;
print
     "Ростов"
   . "‐на‐"
   . "Дону";
print
     "Ростов"
   ~ "‐на‐"
   ~ "Дону";
Функции
sub flight($from, $to) {
   say "$from ‐‐> $to";
}
flight("Москва", 
       "Ростов‐на‐Дону");
sub flight($from, $to) {
   say "$from ‐‐> $to";
}
flight "Москва", 
       "Ростов‐на‐Дону";
sub flight($from, $to) {
   say "$from ‐‐> $to";
}
flight
   from => "Москва", 
   to   => "Ростов‐на‐Дону";
sub choose(@a, @b) {
   return
      any(@a) < all(@b) ??
      1 !! 2;
}
say choose(
    @SkyExpressPrices,
    @AeroflotPrices
);
Циклы
for @list {
    say $_;
}
for @list ‐> $x {
    say $x;
}
for @list ‐> $x, $y {
    say $x + $y;
}
for
    @list,
    sub($x, $y) {
       . . .
    }
loop(my $t = 300; $t; $t‐‐) {
   sleep 1;
};
say "cunt";
Гипероператоры
my @Flight = (...);
my @Food = (...);
my @Flight = (...);
my @Food = (...);
my @FullPrice = 
   @Flight >>+<< @Food;
my @Flight = (...);
my @Food = (...);
my @FullPrice = 
   @Flight >>+<< @Food;
@FullPrice >>+=<< $Fuel;
my @Flight = (...);
my @Food = (...);
my @FullPrice = 
   @Flight »+« @Food;
@FullPrice »+=« $Fuel;
Объединения
Объединения
(квантовые
суперпозиции)
sub choose(@a, @b) {
   return
      any(@a) < all(@b) ??
      1 !! 2;
}
say 1 
    if 20 == 10 | 20 | 30;
say 1 
    if 20 == 10 | 20 | 30;
say 1
    if 20 == any(10, 20, 30);
say 1
    if 20 == none(1, 2, 3);
Перегрузка
операторов и функций
Перегрузка
операторов и функций
(множественная
диспетчеризация)
1 + 2
1.1 + 2.2
multi sub
    elections($candidate);
multi sub
    elections(@candidates);
multi infix:<+> ($a, $b) {
   return $a ‐ $b;
}
say 10 + 20;     ‐10
multi postfix:<!> ($n) {
   return [*] 1..$n;
}
say 2008!;
multi postfix:<!> ($n) {
   return [*] 1..$n;
}
say 2008!;
Perl 6 в Perl 5
Perl 6 в Perl 5
Perl 5.10
use feature qw(
    say
    switch
    state
);
> perl5.10 ‐e 
  "use feature qw(say); say $$;"
> perl5.10 ‐E "say $$;"
//
defined‐or
my $a;
my $b = $a // 2;
say $b;           2
my $c = 0;
my $d = $c // 3;
say $d;           0
my $e = 0;
my $f = $e || 4;
say $f;           4
~~
~~Смарт-матчинг
(оператор
сопоставления)
$a ~~ $b
==
$b ~~ $a
my $b;
$b ~~ undef
!defined $b
my $c = 'abc';
$c ~~ 'abc'
$c eq 'abc'
my $c = 'abc';
$c ~~ /b/
$c =~ /b/
my @a = (1..3);
my @b = (1..3);
@a ~~ @b
1 == 1 && 2 == 2 && 3 == 3
my @a = (1..3);
my @b = (1..3);
my @c = (3..5);
@a ~~ @c
1 == 3 && 2 == 4 && 3 == 5
my @d = (123, 'abc');
my @e = (qr/d/, qr/w/);
@d ~~ @e
123 ~~ /d/ &&
'abc' ~~ /w/
my @f = ('a'..'f');
@f ~~ 'd'
grep {$_ eq 'd'} @f
my @g = (1..10);
@g ~~ 7
grep {$_ == 7} @g
my @g = (1..10);
@g ~~ 7.0
grep {$_ == 7.0} @g
my @g = (1..10);
@g ~~ '7.0'
grep {$_ eq '7.0'} @g
my @g = (1..10);
@g ~~ /^d$/
grep {$_ =~ /^d$/} @g
sub subA {return 2}
sub subB {return 2}
subA ~~ subB
subA() == subB()
my %h = (a => 'alpha',
         b => 'beta');
%h ~~ 'a'
exists $h{'a'}
my %h = (a => 'alpha',
         b => 'beta');
%h ~~ /[A‐F]/i
grep {/[A‐F]/i} keys %h
my %h = (a => 'alpha',
         b => 'beta');
my %hh = (b => 1, a => 2);
%h ~~ %hh
[sort keys %h] ~~
[sort keys %hh]
В печати
Июнь 2003
Июнь 2004
Июнь 2004 2005
2005
2007?
real.perl6.ru
int main() {
    char* argv[] = {
        "parrot", 
        getenv ("PATH_TRANSLATED"),
        NULL
    };
    execvp("/parrot‐0.1.0/parrot", argv);
    return 0;
}
my @keys = (
    'SERVER_NAME',
    'REMOTE_ADDR',
    'HTTP_USER_AGENT'
);
my $key;
foreach $key (@keys){
   print1 "$key=%ENV{$key}<br />";
}
my @keys = (
    'SERVER_NAME',
    'REMOTE_ADDR',
    'HTTP_USER_AGENT'
);
my $key;
foreach $key (@keys){
   print1 "$key=%ENV{$key}<br />";
}
sub params2hash(
    %params,
    @params_key,
    @params_value){
    for 0 .. @params_key ‐> $c {
        %params{@params_key[$c]} = 
           @params_value[$c];
    }
}
.include "counter.imc"
open     P0, "counter.txt"
readline S0, P0
set      I0, S0
inc      I0
set      I2, 0
seek     P0, I2, I2
print    P0, I0
close    P0
November
yapc.tv/2008/ye/lt/lt2-01-masak-vilkund-november
yapc.tv/2008/fe/irhd-november
November
november-wiki.org
november.perl6.ru
$ git clone 
  git://github.com/viklund/november.git
$ cd p6w
$ perl Makefile.PL
$ make
/software/parrot/parrot /software/
parrot/languages/perl6/perl6.pbc ‐‐
target=pir Impatience.pm  > 
Impatience.pir
/software/parrot/parrot /software/
parrot/languages/perl6/perl6.pbc ‐‐
target=pir HTML/Template.pm  > HTML/
Template.pir
/software/parrot/parrot /software/
parrot/languages/perl6/perl6.pbc ‐‐
target=pir Impatience.pm  > 
Impatience.pir
/software/parrot/parrot /software/
parrot/languages/perl6/perl6.pbc ‐‐
target=pir HTML/Template.pm  > HTML/
Template.pir
#!perl6
use v6;
use CGI;
use Wiki;
my Wiki $wiki = Wiki.new;
$wiki.init();
my $cgi = CGI.new;
$cgi.init();
$wiki.handle_request($cgi);
Классы и роли
class Wiki does Session {
    my $.template_path       is rw;
    my $.userfile_path       is rw;
    has Storage $.storage    is rw;
    has CGI     $.cgi        is rw;
    . . .
}
method handle_request(CGI $cgi) {
    $.cgi = $cgi;
    my $action = $cgi.param<action> // 'view';
    given $action {
        when 'view' { 
            self.view_page(); return;
        }
        when 'edit' {
            self.edit_page(); return;
        }
        when 'log_in' {
            self.log_in(); return;
        }
    }
    self.not_found();
}
has Storage $.storage is rw;
class Storage {
    . . .
}
class Storage::File is Storage {
    . . .
}
$.storage = Storage::File.new();
$.storage.init();
my $input = $*IN.slurp();
self.parse_params(%params, $input);
Грамматика
if $par ~~ 
Text::Markup::Wiki::Minimal::Syntax::paragraph {
    . . .
}
else {
   $result = '<p>Could not parse paragraph.</p>';
}
grammar Text::Markup::Wiki::Minimal::Syntax {
    token paragraph { ^ [<heading> || <parchunk>+] $ };
    token heading { '==' <parchunk>+ '==' };
    token parchunk { <twext> || <wikimark> || <metachar> ||   
          <malformed> };
    token twext { [ <.alnum> || <.otherchar> || <.whitespace> ]
          + };
    token otherchar { <[ !..% (../ : ; ? @  ^..` {..~ ]> };
    token whitespace { ' ' | n };
    token wikimark { '[[' <twext> ']]' };
    token metachar { '<' || '>' || '&' || ' };
    token malformed { '[' || ']' }
}
grammar 
Text::Markup::Wiki::Minimal::Syntax {
}
token paragraph { 
   ^ [<heading> || <parchunk>+] $
};
token heading {
    '==' <parchunk>+ '=='
};
Highload
Что такое нагрузка?
Что такое нагрузка?
От 1 000 000
посетитлей?
Что такое нагрузка?
Или от одного
компилятора?
Highload++
в реализации
Perl 6 не один
Pugs
Rakudo
SMOP
KindaPerl6
Elf
Не только script.pl
Исходник .pl
Ассемблер .pir
Байт-код .pbc
Веб-серверов много
Apache CGI
mod_perl
Ваш любимый сервер
Сколько
способов
оптимизации?
(МНОГО)
Компиляция в байт-код
Компиляция в байт-код
programme.pl
programme.pbc
Компилятор
Виртуальная машина
Компиляция в байт-код
programme.pl
programme.pbc
Компилятор
Виртуальная машина + JIT
Прекомпилированные модули
use Module;
Module.pir Module.pm
Parrot::Embed
(Байткод,
исполняемый в Perl 5)
mod_parrot
(Аналог mod_perl,
но для байткода)
Nginx / 0W / mod_proxy
(Абсолютно стандартно)
Компиляция в байт-код
Nginx / 0W / mod_proxy
Parrot::Embed
mod_parrot
Прекомпилированные модули
++Highload
в дизайне
Lazy lists
Директива async
Распараллеленные
гипероператоры
Многое реализовано
в самой виртуальной машине
$ time pugs ‐e'say "HL++"'
real   0m0.382s
user   0m0.348s
sys    0m0.031s
Hello, World++ (Pugs)
$ time perl6 ‐e'say "HL++"'
real   0m0.389s
user   0m0.307s
sys    0m0.061s
Hello, World++ (Rakudo)
(Одинаково медленно)
$ time wget http://real.perl6.ru
real   0m0.034s
user   0m0.003s
sys    0m0.001s
Пример с байткодом (VPS Apache CGI)
$ time wget http://november.perl6.ru
real   0m0.027s
user   0m0.003s
sys    0m0.001s
Пример с кешем (VPS Apache CGI)
(Одинаково быстро)
Перспективы
Улучшенный синтаксический разбор
Новый JIT-компилятор
Новый сборщик мусора
dev.perl.org/perl6
rakudo.org
perl6.ru
__END__
Андрей Шитов
http://shitov.ru | andy@shitov.ru

Más contenido relacionado

La actualidad más candente

Язык программирования GO
Язык программирования GOЯзык программирования GO
Язык программирования GOPython Meetup
 
Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех Minsk Linux User Group
 
Как мы делаем раскладку Календаря@Mail.Ru
Как мы делаем раскладку Календаря@Mail.RuКак мы делаем раскладку Календаря@Mail.Ru
Как мы делаем раскладку Календаря@Mail.RuVladimir Rudnyh
 
Сергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with AndroidСергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with AndroidUA Mobile
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программированиеPython Meetup
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest
 
High load. Наследство от дядюшки Ау
High load. Наследство от дядюшки АуHigh load. Наследство от дядюшки Ау
High load. Наследство от дядюшки АуIgor Malinovskiy
 
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019corehard_by
 
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonMaxim Kulsha
 
ekbpy'2012 - Марк Коренберг - Системное программирование на Питоне
ekbpy'2012 - Марк Коренберг - Системное программирование на Питонеekbpy'2012 - Марк Коренберг - Системное программирование на Питоне
ekbpy'2012 - Марк Коренберг - Системное программирование на Питонеit-people
 
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...Yandex
 
Применение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахПрименение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахAlex Chistyakov
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Nikita Baksalyar
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовYandex
 
Александр Чистяков, Git in Sky — Современные тенденции в разработке программн...
Александр Чистяков, Git in Sky — Современные тенденции в разработке программн...Александр Чистяков, Git in Sky — Современные тенденции в разработке программн...
Александр Чистяков, Git in Sky — Современные тенденции в разработке программн...Dev_Party
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest
 
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Tanya Denisyuk
 
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Daniel Podolsky
 

La actualidad más candente (19)

Язык программирования GO
Язык программирования GOЯзык программирования GO
Язык программирования GO
 
Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех
 
Как мы делаем раскладку Календаря@Mail.Ru
Как мы делаем раскладку Календаря@Mail.RuКак мы делаем раскладку Календаря@Mail.Ru
Как мы делаем раскладку Календаря@Mail.Ru
 
Сергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with AndroidСергей Арнаут - Stream yourself with Android
Сергей Арнаут - Stream yourself with Android
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
 
High load. Наследство от дядюшки Ау
High load. Наследство от дядюшки АуHigh load. Наследство от дядюшки Ау
High load. Наследство от дядюшки Ау
 
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019Как не подавиться большим старым проектом. Юрий Минаев ➠  CoreHard Autumn 2019
Как не подавиться большим старым проектом. Юрий Минаев ➠ CoreHard Autumn 2019
 
Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" Python
 
ekbpy'2012 - Марк Коренберг - Системное программирование на Питоне
ekbpy'2012 - Марк Коренберг - Системное программирование на Питонеekbpy'2012 - Марк Коренберг - Системное программирование на Питоне
ekbpy'2012 - Марк Коренберг - Системное программирование на Питоне
 
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
Илья Биин: Организация совместной работы Go и Python-based сервисов в Ostrovo...
 
Применение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахПрименение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектах
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
Александр Чистяков, Git in Sky — Современные тенденции в разработке программн...
Александр Чистяков, Git in Sky — Современные тенденции в разработке программн...Александр Чистяков, Git in Sky — Современные тенденции в разработке программн...
Александр Чистяков, Git in Sky — Современные тенденции в разработке программн...
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
 
JSON-RPC
JSON-RPCJSON-RPC
JSON-RPC
 
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
 
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
Golang в действии: Как нам удается писать highload приложение на (не?)подходя...
 

Destacado

Sosyal Medya ve Yeni Örgütlenmeler
Sosyal Medya ve Yeni ÖrgütlenmelerSosyal Medya ve Yeni Örgütlenmeler
Sosyal Medya ve Yeni ÖrgütlenmelerCuneyt Goksu
 
Mirage 09 www.mitsubishibekasi.com
Mirage 09 www.mitsubishibekasi.comMirage 09 www.mitsubishibekasi.com
Mirage 09 www.mitsubishibekasi.commitsubishibekasi
 
Mirage 04 www.mitsubishibekasi.com
Mirage 04 www.mitsubishibekasi.comMirage 04 www.mitsubishibekasi.com
Mirage 04 www.mitsubishibekasi.commitsubishibekasi
 
Benjamin b
Benjamin bBenjamin b
Benjamin bfbcat
 
Mirage 15 www.mitsubishibekasi.com
Mirage 15 www.mitsubishibekasi.comMirage 15 www.mitsubishibekasi.com
Mirage 15 www.mitsubishibekasi.commitsubishibekasi
 
Ciência sem Fronteiras - CNPQ, CISB, SAAB
Ciência sem Fronteiras - CNPQ, CISB, SAABCiência sem Fronteiras - CNPQ, CISB, SAAB
Ciência sem Fronteiras - CNPQ, CISB, SAABlauravieira
 
Il Cloud di Aruba - Dillo ad un amico e ricevi credito omaggio!
Il Cloud di Aruba - Dillo ad un amico e ricevi credito omaggio!Il Cloud di Aruba - Dillo ad un amico e ricevi credito omaggio!
Il Cloud di Aruba - Dillo ad un amico e ricevi credito omaggio!Aruba S.p.A.
 
Проблемы  определения ЕТО в соответствии критериями Постановления Правительст...
Проблемы  определения ЕТО в соответствии критериями Постановления Правительст...Проблемы  определения ЕТО в соответствии критериями Постановления Правительст...
Проблемы  определения ЕТО в соответствии критериями Постановления Правительст...Rosteplo
 
Cartasathenaze08
Cartasathenaze08Cartasathenaze08
Cartasathenaze08Sito Yelas
 
Con Aruba, a lezione di cloud #lezione 9 - parte 2: 'Configurazione server di...
Con Aruba, a lezione di cloud #lezione 9 - parte 2: 'Configurazione server di...Con Aruba, a lezione di cloud #lezione 9 - parte 2: 'Configurazione server di...
Con Aruba, a lezione di cloud #lezione 9 - parte 2: 'Configurazione server di...Aruba S.p.A.
 
Henry evaluación docente etapa 2 especial
Henry evaluación docente etapa 2 especialHenry evaluación docente etapa 2 especial
Henry evaluación docente etapa 2 especialquiqui
 
Pirvuleasa Madalina Clasa Vi A B
Pirvuleasa Madalina Clasa Vi A BPirvuleasa Madalina Clasa Vi A B
Pirvuleasa Madalina Clasa Vi A BGeorgeta Manafu
 
8 гр 8 марта
8 гр 8 марта8 гр 8 марта
8 гр 8 мартаFintfin
 
DiagnóStico Da GestãO Do Psdb Em Sp
DiagnóStico Da GestãO Do Psdb Em SpDiagnóStico Da GestãO Do Psdb Em Sp
DiagnóStico Da GestãO Do Psdb Em Spguest051a8d5
 

Destacado (20)

Sosyal Medya ve Yeni Örgütlenmeler
Sosyal Medya ve Yeni ÖrgütlenmelerSosyal Medya ve Yeni Örgütlenmeler
Sosyal Medya ve Yeni Örgütlenmeler
 
berpikir perubahan
  berpikir perubahan  berpikir perubahan
berpikir perubahan
 
Mirage 09 www.mitsubishibekasi.com
Mirage 09 www.mitsubishibekasi.comMirage 09 www.mitsubishibekasi.com
Mirage 09 www.mitsubishibekasi.com
 
Mirage 04 www.mitsubishibekasi.com
Mirage 04 www.mitsubishibekasi.comMirage 04 www.mitsubishibekasi.com
Mirage 04 www.mitsubishibekasi.com
 
Benjamin b
Benjamin bBenjamin b
Benjamin b
 
Mirage 15 www.mitsubishibekasi.com
Mirage 15 www.mitsubishibekasi.comMirage 15 www.mitsubishibekasi.com
Mirage 15 www.mitsubishibekasi.com
 
Ciência sem Fronteiras - CNPQ, CISB, SAAB
Ciência sem Fronteiras - CNPQ, CISB, SAABCiência sem Fronteiras - CNPQ, CISB, SAAB
Ciência sem Fronteiras - CNPQ, CISB, SAAB
 
Il Cloud di Aruba - Dillo ad un amico e ricevi credito omaggio!
Il Cloud di Aruba - Dillo ad un amico e ricevi credito omaggio!Il Cloud di Aruba - Dillo ad un amico e ricevi credito omaggio!
Il Cloud di Aruba - Dillo ad un amico e ricevi credito omaggio!
 
1
11
1
 
Проблемы  определения ЕТО в соответствии критериями Постановления Правительст...
Проблемы  определения ЕТО в соответствии критериями Постановления Правительст...Проблемы  определения ЕТО в соответствии критериями Постановления Правительст...
Проблемы  определения ЕТО в соответствии критериями Постановления Правительст...
 
Cartasathenaze08
Cartasathenaze08Cartasathenaze08
Cartasathenaze08
 
Con Aruba, a lezione di cloud #lezione 9 - parte 2: 'Configurazione server di...
Con Aruba, a lezione di cloud #lezione 9 - parte 2: 'Configurazione server di...Con Aruba, a lezione di cloud #lezione 9 - parte 2: 'Configurazione server di...
Con Aruba, a lezione di cloud #lezione 9 - parte 2: 'Configurazione server di...
 
Henry evaluación docente etapa 2 especial
Henry evaluación docente etapa 2 especialHenry evaluación docente etapa 2 especial
Henry evaluación docente etapa 2 especial
 
Noapte buna
Noapte buna Noapte buna
Noapte buna
 
Photos+by+norbert
Photos+by+norbertPhotos+by+norbert
Photos+by+norbert
 
Pirvuleasa Madalina Clasa Vi A B
Pirvuleasa Madalina Clasa Vi A BPirvuleasa Madalina Clasa Vi A B
Pirvuleasa Madalina Clasa Vi A B
 
Andre3
Andre3Andre3
Andre3
 
8 гр 8 марта
8 гр 8 марта8 гр 8 марта
8 гр 8 марта
 
Aeronáutica Andaluza N14
Aeronáutica Andaluza N14Aeronáutica Andaluza N14
Aeronáutica Andaluza N14
 
DiagnóStico Da GestãO Do Psdb Em Sp
DiagnóStico Da GestãO Do Psdb Em SpDiagnóStico Da GestãO Do Psdb Em Sp
DiagnóStico Da GestãO Do Psdb Em Sp
 

Similar a Migrating from Perl 5 to 6

Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Moscow.pm
 
poudriere или как я перестал волноваться и полюбил pkg
poudriere или как я перестал волноваться и полюбил pkgpoudriere или как я перестал волноваться и полюбил pkg
poudriere или как я перестал волноваться и полюбил pkgAndrey Fesenko
 
Perl Debugger и mod_perl
Perl Debugger и mod_perlPerl Debugger и mod_perl
Perl Debugger и mod_perlИван mrRico
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveTechnopark
 
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...Serguei Gitinsky
 
Мой modern Perl (весенняя встреча Piter United)
Мой modern Perl (весенняя встреча Piter United)Мой modern Perl (весенняя встреча Piter United)
Мой modern Perl (весенняя встреча Piter United)Alex Chistyakov
 
Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьAndrey Rebrov
 
Perl6pod devconf
Perl6pod devconfPerl6pod devconf
Perl6pod devconfzagru
 
Perl6pod lvee
Perl6pod lveePerl6pod lvee
Perl6pod lveezagru
 
REPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикREPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикIT61
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерамиДмитрий Столяров
 
Фортран.pdf
Фортран.pdfФортран.pdf
Фортран.pdfssuserf546a8
 
Using perl6-pod
Using perl6-podUsing perl6-pod
Using perl6-podzagru
 

Similar a Migrating from Perl 5 to 6 (20)

Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
Perl для не программистов. Николай Мишин. Moscow.pm 4 июля 2013
 
poudriere или как я перестал волноваться и полюбил pkg
poudriere или как я перестал волноваться и полюбил pkgpoudriere или как я перестал волноваться и полюбил pkg
poudriere или как я перестал волноваться и полюбил pkg
 
Perl Debugger и mod_perl
Perl Debugger и mod_perlPerl Debugger и mod_perl
Perl Debugger и mod_perl
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
 
Modern Perl
Modern  PerlModern  Perl
Modern Perl
 
JPHP
JPHPJPHP
JPHP
 
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
Perl, и с чем его едят. Доклад нашего Главного Инженера (ГИ) Александра Чистя...
 
Мой modern Perl (весенняя встреча Piter United)
Мой modern Perl (весенняя встреча Piter United)Мой modern Perl (весенняя встреча Piter United)
Мой modern Perl (весенняя встреча Piter United)
 
Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинопись
 
09 - Hadoop. Pig
09 - Hadoop. Pig09 - Hadoop. Pig
09 - Hadoop. Pig
 
Perl6pod devconf
Perl6pod devconfPerl6pod devconf
Perl6pod devconf
 
Perl6pod lvee
Perl6pod lveePerl6pod lvee
Perl6pod lvee
 
Perl6 pod as new documentation format
Perl6 pod as new documentation formatPerl6 pod as new documentation format
Perl6 pod as new documentation format
 
REPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикREPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчик
 
Docker penetration
Docker penetrationDocker penetration
Docker penetration
 
Проникновение в Docker с примерами
Проникновение в Docker с примерамиПроникновение в Docker с примерами
Проникновение в Docker с примерами
 
About Python
About PythonAbout Python
About Python
 
php frameworks
php frameworksphp frameworks
php frameworks
 
Фортран.pdf
Фортран.pdfФортран.pdf
Фортран.pdf
 
Using perl6-pod
Using perl6-podUsing perl6-pod
Using perl6-pod
 

Más de Andrew Shitov

Creating a compiler in Perl 6
Creating a compiler in Perl 6Creating a compiler in Perl 6
Creating a compiler in Perl 6Andrew Shitov
 
Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)Andrew Shitov
 
Параллельные вычисления в Perl 6
Параллельные вычисления в Perl 6Параллельные вычисления в Perl 6
Параллельные вычисления в Perl 6Andrew Shitov
 
Perl 6 for Concurrency and Parallel Computing
Perl 6 for Concurrency and Parallel ComputingPerl 6 for Concurrency and Parallel Computing
Perl 6 for Concurrency and Parallel ComputingAndrew Shitov
 
The Joy of Smartmatch
The Joy of SmartmatchThe Joy of Smartmatch
The Joy of SmartmatchAndrew Shitov
 
Perl 7, the story of
Perl 7, the story ofPerl 7, the story of
Perl 7, the story ofAndrew Shitov
 
Язык программирования Go для Perl-программистов
Язык программирования Go для Perl-программистовЯзык программирования Go для Perl-программистов
Язык программирования Go для Perl-программистовAndrew Shitov
 
Как очистить массив
Как очистить массивКак очистить массив
Как очистить массивAndrew Shitov
 
What's new in Perl 5.14
What's new in Perl 5.14What's new in Perl 5.14
What's new in Perl 5.14Andrew Shitov
 
Что нового в Perl 5.14
Что нового в Perl 5.14Что нового в Perl 5.14
Что нового в Perl 5.14Andrew Shitov
 
Text in search queries with examples in Perl 6
Text in search queries with examples in Perl 6Text in search queries with examples in Perl 6
Text in search queries with examples in Perl 6Andrew Shitov
 
There's more than one way to empty it
There's more than one way to empty itThere's more than one way to empty it
There's more than one way to empty itAndrew Shitov
 
How to clean an array
How to clean an arrayHow to clean an array
How to clean an arrayAndrew Shitov
 

Más de Andrew Shitov (20)

Perl6 one-liners
Perl6 one-linersPerl6 one-liners
Perl6 one-liners
 
Creating a compiler in Perl 6
Creating a compiler in Perl 6Creating a compiler in Perl 6
Creating a compiler in Perl 6
 
Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)Fun with Raspberry PI (and Perl)
Fun with Raspberry PI (and Perl)
 
Perl6 in-production
Perl6 in-productionPerl6 in-production
Perl6 in-production
 
Параллельные вычисления в Perl 6
Параллельные вычисления в Perl 6Параллельные вычисления в Perl 6
Параллельные вычисления в Perl 6
 
AllPerlBooks.com
AllPerlBooks.comAllPerlBooks.com
AllPerlBooks.com
 
Perl 6 for Concurrency and Parallel Computing
Perl 6 for Concurrency and Parallel ComputingPerl 6 for Concurrency and Parallel Computing
Perl 6 for Concurrency and Parallel Computing
 
The Joy of Smartmatch
The Joy of SmartmatchThe Joy of Smartmatch
The Joy of Smartmatch
 
YAPC::Europe 2013
YAPC::Europe 2013YAPC::Europe 2013
YAPC::Europe 2013
 
Perl 7, the story of
Perl 7, the story ofPerl 7, the story of
Perl 7, the story of
 
Язык программирования Go для Perl-программистов
Язык программирования Go для Perl-программистовЯзык программирования Go для Perl-программистов
Язык программирования Go для Perl-программистов
 
Как очистить массив
Как очистить массивКак очистить массив
Как очистить массив
 
What's new in Perl 5.14
What's new in Perl 5.14What's new in Perl 5.14
What's new in Perl 5.14
 
Что нового в Perl 5.14
Что нового в Perl 5.14Что нового в Perl 5.14
Что нового в Perl 5.14
 
Perl6 grammars
Perl6 grammarsPerl6 grammars
Perl6 grammars
 
Text in search queries with examples in Perl 6
Text in search queries with examples in Perl 6Text in search queries with examples in Perl 6
Text in search queries with examples in Perl 6
 
There's more than one way to empty it
There's more than one way to empty itThere's more than one way to empty it
There's more than one way to empty it
 
Perl 6 by example
Perl 6 by examplePerl 6 by example
Perl 6 by example
 
How to clean an array
How to clean an arrayHow to clean an array
How to clean an array
 
Perl 5.10 и 5.12
Perl 5.10 и 5.12Perl 5.10 и 5.12
Perl 5.10 и 5.12
 

Último (9)

2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 

Migrating from Perl 5 to 6