28
42 £ в ойрах

42 £ в ойрах

  • Upload
    andysh

  • View
    882

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 42 £ в ойрах

42 £ в ойрах

Page 2: 42 £ в ойрах

Perl 5.10появился 17 декабря 2007

Page 3: 42 £ в ойрах

Полтора года назад

Page 4: 42 £ в ойрах

Кто использует фичи 5.10?

Page 5: 42 £ в ойрах

say

Page 6: 42 £ в ойрах

given / when

Page 7: 42 £ в ойрах

(?<name>.*)

Page 8: 42 £ в ойрах

~~

Page 9: 42 £ в ойрах
Page 10: 42 £ в ойрах
Page 11: 42 £ в ойрах
Page 12: 42 £ в ойрах
Page 13: 42 £ в ойрах

    given($input) {        when(/$Parser::Money::RatePhrase/)                                  { }        when(/$Parser::Money::ConvertPhrase/)                    {}

        . . . 

    }

Page 14: 42 £ в ойрах

    given($input) {        when(/$Parser::Money::RatePhrase/)                                  { }        when(/$Parser::Money::ConvertPhrase/)                    {}

        . . . 

    }

Page 15: 42 £ в ойрах

    given($input) {        when(/$Parser::Money::RatePhrase/)                                  { }        when(/$Parser::Money::ConvertPhrase/)                    {}

        . . . 

    }

Page 16: 42 £ в ойрах

our $ConvertPhrase = qr/    ^        ($QuestionWord \s)*         $CurrencyString         (\s $ConvertWord)? \s        $CurrencyString    $/x;

Page 17: 42 £ в ойрах

our $ConvertPhrase = qr/    ^        ($QuestionWord \s)*         $CurrencyString         (\s $ConvertWord)? \s        $CurrencyString    $/x;

Page 18: 42 £ в ойрах

my $CurrencyString = qr/    (?:(?<Value> $Value+) \s?)? $CurrencyCode/x;

Page 19: 42 £ в ойрах

my $CurrencyString = qr/    (?:(?<Value> $Value+) \s?)? $CurrencyCode/x;

Page 20: 42 £ в ойрах

my $CurrencyString = qr/    (?:(?<Value> $Value+) \s?)? $CurrencyCode/x;

Page 21: 42 £ в ойрах

our $CurrencyCode = qr/    \b        (?<code_RUB>            ru[rb] |            руб\S* |            руб\S* \s (росс\S* | рф) |            росс\S* \s руб\S* |            рупь |            деревя[нш]\S*        ) |        (?<code_EUR>            euro? |            € |            евр\S* |            ойр\S*        ) |        (?<code_USD>            us[d\$] |            долларов сша |            (долл?[аео]р\S* | бакс\S* | \$) (\s (сша | амер\S*))? |            \$ |            америк\S* (\s (доллар\S* | бакс\S* | \$))? |            грин\S* |            бакс\S*        ) |

Page 22: 42 £ в ойрах

our $CurrencyCode = qr/    \b        (?<code_RUB>            ru[rb] |            руб\S* |            руб\S* \s (росс\S* | рф) |            росс\S* \s руб\S* |            рупь |            деревя[нш]\S*        ) |        (?<code_EUR>            euro? |            € |            евр\S* |            ойр\S*        ) |        (?<code_USD>            us[d\$] |            долларов сша |            (долл?[аео]р\S* | бакс\S* | \$) (\s (сша | амер\S*))? |            \$ |            америк\S* (\s (доллар\S* | бакс\S* | \$))? |            грин\S* |            бакс\S*        ) |

Page 23: 42 £ в ойрах

        (?<code_EUR>            euro? |            € |            евр\S* |            ойр\S*        ) |        (?<code_USD>            us[d\$] |            долларов сша |            (долл?[аео]р\S* |             бакс\S* | \$) (\s (сша | амер\S*))? |            америк\S* (\s (доллар\S* | бакс\S* |             грин\S* |            бакс\S*        ) |        (?<code_JPY>            jpy |            ¥ |            (японск\S* \s)? [йи]ен\S* (\s япон\S*)?        ) |

Page 24: 42 £ в ойрах

        (?<code_EUR>            euro? |            € |            евр\S* |            ойр\S*        ) |        (?<code_USD>            us[d\$] |            долларов сша |            (долл?[аео]р\S* |             бакс\S* | \$) (\s (сша | амер\S*))? |            америк\S* (\s (доллар\S* | бакс\S* |             грин\S* |            бакс\S*        ) |        (?<code_JPY>            jpy |            ¥ |            (японск\S* \s)? [йи]ен\S* (\s япон\S*)?        ) |

Page 25: 42 £ в ойрах

        (?<code_EUR>            euro? |            € |            евр\S* |            ойр\S*        ) |        (?<code_USD>            us[d\$] |            долларов сша |            (долл?[аео]р\S* |             бакс\S* | \$) (\s (сша | амер\S*))? |            америк\S* (\s (доллар\S* | бакс\S* |             грин\S* |            бакс\S*        ) |        (?<code_JPY>            jpy |            ¥ |            (японск\S* \s)? [йи]ен\S* (\s япон\S*)?        ) |

Page 26: 42 £ в ойрах

my @tests = (    ['курс рубля',          {from => 'RUB', value => 0}],    ['по чем рубль',          {from => 'RUB', value => 0}],    ['рубль',             {from => 'RUB', value => 0}],    ['RUB',           {from => 'RUB', value => 0}],    ['рубль сегодня',          {from => 'RUB', value => 0}],    ['курс RUR',          {from => 'RUB', value => 0}],    ['курс Рубля РФ', 

Page 27: 42 £ в ойрах

my @currencyCode = qw(RUR EUR USD JPY CHF GBP UAH KZT CAD AUD BYR DKK ISK NOK SEK CNY TRY SGD ILS);

my @currencyNameNominative = ('рубль', 'евро', 'доллар США', 'японская иена', 'швейцарский франк','фунт стерлингов', 'украинская гривна', 'казахстанский тенге', 'канадский доллар','австралийский доллар', 'белорусский рубль', 'датская крона', 'исландская крона', 'норвежская крона', 'шведская крона', 'китайский юань','турецкая лира', 'сингапурский доллар', 'шекель');

my @currencyNameGenitive =  ('рубля', 'евро', 'доллара США', 'японской иены', 'швейцарского франка', 'фунта стерлингов', 'украинской гривны', 'казахстанского тенге', 'канадского доллара',                             'австралийского доллара', 'белорусского рубля', 'датской кроны',                             'исландской кроны', 'норвежской кроны', 'шведской кроны', 'китайского юаня',                             'турецкой лиры', 'сингапурского доллара', 'шекеля');