42 £ в ойрах
Perl 5.10
появился 17 декабря 2007
Полтора года назад
Кто использует фичи 5.10?
say
given / when
(?<name>.*)
~~
    given($input) {
        when(/$Parser::Money::RatePhrase/)     
                                               
      ...
    given($input) {
        when(/$Parser::Money::RatePhrase/)     
                                               
      ...
    given($input) {
        when(/$Parser::Money::RatePhrase/)     
                                               
      ...
our $ConvertPhrase = qr/
    ^
        ($QuestionWord s)* 
        $CurrencyString 
        (s $ConvertWord)? s
        $C...
our $ConvertPhrase = qr/
    ^
        ($QuestionWord s)* 
        $CurrencyString 
        (s $ConvertWord)? s
        $C...
my $CurrencyString = qr/
    (?:(?<Value> $Value+) s?)? $CurrencyCode
/x;
my $CurrencyString = qr/
    (?:(?<Value> $Value+) s?)? $CurrencyCode
/x;
my $CurrencyString = qr/
    (?:(?<Value> $Value+) s?)? $CurrencyCode
/x;
our $CurrencyCode = qr/
    b
        (?<code_RUB>
            ru[rb] |
            рубS* |
            рубS* s (россS* | ...
our $CurrencyCode = qr/
    b
        (?<code_RUB>
            ru[rb] |
            рубS* |
            рубS* s (россS* | ...
        (?<code_EUR>
            euro? |
            € |
            еврS* |
            ойрS*
        ) |
        (?<code...
        (?<code_EUR>
            euro? |
            € |
            еврS* |
            ойрS*
        ) |
        (?<code...
        (?<code_EUR>
            euro? |
            € |
            еврS* |
            ойрS*
        ) |
        (?<code...
my @tests = (
    ['курс рубля', 
         {from => 'RUB', value => 0}],
    ['по чем рубль', 
         {from => 'RUB', va...
my @currencyCode = qw(RUR EUR USD JPY CHF GBP UAH 
KZT CAD AUD BYR DKK ISK NOK SEK CNY TRY SGD ILS);

my @currencyNameNomi...
__END__


Андрей Шитов

http://shitov.ru   |   andy@shitov.ru
‎42 £ в ойрах‎
‎42 £ в ойрах‎
‎42 £ в ойрах‎
‎42 £ в ойрах‎
Upcoming SlideShare
Loading in …5
×

‎42 £ в ойрах‎

533 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
533
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

‎42 £ в ойрах‎

  1. 1. 42 £ в ойрах
  2. 2. Perl 5.10 появился 17 декабря 2007
  3. 3. Полтора года назад
  4. 4. Кто использует фичи 5.10?
  5. 5. say
  6. 6. given / when
  7. 7. (?<name>.*)
  8. 8. ~~
  9. 9.     given($input) {         when(/$Parser::Money::RatePhrase/)                   { }         when(/$Parser::Money::ConvertPhrase/)                {}         . . .      }
  10. 10.     given($input) {         when(/$Parser::Money::RatePhrase/)                   { }         when(/$Parser::Money::ConvertPhrase/)                {}         . . .      }
  11. 11.     given($input) {         when(/$Parser::Money::RatePhrase/)                   { }         when(/$Parser::Money::ConvertPhrase/)                {}         . . .      }
  12. 12. our $ConvertPhrase = qr/     ^         ($QuestionWord s)*          $CurrencyString          (s $ConvertWord)? s         $CurrencyString     $ /x;
  13. 13. our $ConvertPhrase = qr/     ^         ($QuestionWord s)*          $CurrencyString          (s $ConvertWord)? s         $CurrencyString     $ /x;
  14. 14. my $CurrencyString = qr/     (?:(?<Value> $Value+) s?)? $CurrencyCode /x;
  15. 15. my $CurrencyString = qr/     (?:(?<Value> $Value+) s?)? $CurrencyCode /x;
  16. 16. my $CurrencyString = qr/     (?:(?<Value> $Value+) s?)? $CurrencyCode /x;
  17. 17. our $CurrencyCode = qr/     b         (?<code_RUB>             ru[rb] |             рубS* |             рубS* s (россS* | рф) |             россS* s рубS* |             рупь |             деревя[нш]S*         ) |         (?<code_EUR>             euro? |             € |             еврS* |
  18. 18. our $CurrencyCode = qr/     b         (?<code_RUB>             ru[rb] |             рубS* |             рубS* s (россS* | рф) |             россS* s рубS* |             рупь |             деревя[нш]S*         ) |         (?<code_EUR>             euro? |             € |             еврS* |
  19. 19.         (?<code_EUR>             euro? |             € |             еврS* |             ойрS*         ) |         (?<code_USD>             us[d$] |             долларов сша |             (долл?[аео]рS* |              баксS* | $) (s (сша | амерS*))?              америкS* (s (долларS* | баксS* |             гринS* |             баксS*
  20. 20.         (?<code_EUR>             euro? |             € |             еврS* |             ойрS*         ) |         (?<code_USD>             us[d$] |             долларов сша |             (долл?[аео]рS* |              баксS* | $) (s (сша | амерS*))?              америкS* (s (долларS* | баксS* |             гринS* |             баксS*
  21. 21.         (?<code_EUR>             euro? |             € |             еврS* |             ойрS*         ) |         (?<code_USD>             us[d$] |             долларов сша |             (долл?[аео]рS* |              баксS* | $) (s (сша | амерS*))?              америкS* (s (долларS* | баксS* |             гринS* |             баксS*
  22. 22. 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}],     ['курс Рубля РФ', 
  23. 23. 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 =  ('рубля', 'евро',  'доллара США', 'японской иены', 'швейцарского 
  24. 24. __END__ Андрей Шитов http://shitov.ru | andy@shitov.ru

×