<html>
<body>
<div style='font: 12pt sans-serif;'>
  
    
  
  
    <div>
      <br />
    </div>
    <div>MVC Catalyst  Catalyst::DispatchType::Chained</div>
    <div>   ,    , , Symfony php -    ....</div>
    <div>sub blog : Chained PathPart('blog') CaptureArgs(0) { }
    <br /> sub user : Chained('blog') PathPart('user') CaptureArgs(1) {
    <br /> my ( $self, $c, $id_un ) = @_;
    <br /> $c->stash->{ message } = "Hello 2";
    <br /> $c->stash->{ arg_sum }->[0] = $id_un;
    <br /> }
    <br /> sub view : Chained('user') PathPart('view') CaptureArgs(1) {
    <br /> my ( $self, $c, $id ) = @_;
    <br /> $c->stash->{ message } .= "World!";
    <br /> $c->stash->{ arg_sum }->[1] = $id;
    <br /> }
    <br /> sub view_page_off : Chained('view') PathPart('') Args(1) {
    <br /> my ( $self, $c, $page ) = @_;
    <br /> 
    <br /> $c->stash->{ arg_sum }->[2] = $page;
    <br /> 
    <br /> $c->forward( 'view_blog_message', $c->stash->{ arg_sum } );
    <br /> 
    <br /> }
    <br />
    <br />
    <br /> sub view_off : Chained('view') PathPart('') Args(0) {
    <br /> my ( $self, $c ) = @_;
    <br /> $c->forward( 'view_blog_message', [ $c->stash->{ arg_sum } );
    <br /> 
    <br /> }
    <br /> sub view_page_user : Chained('user') PathPart('') Args(1) {
    <br /> my ( $self, $c, $page ) = @_;
    <br /> $c->stash->{ arg_sum }->[1] = $page;
    <br /> 
    <br /># print '666';
    <br /> $c->forward( 'view_blog', $c->stash->{ arg_sum } );
    <br /> 
    <br /> }
    <br />
    <br /> sub view_user : Chained('user') PathPart('') Args(0) {
    <br /> my ( $self, $c ) = @_;
    <br /> $c->forward( 'view_blog', $c->stash->{ arg_sum } );
    <br /> 
    <br /> 
    <br /> }
    <br />
    <br />
    <br /></div>
    <div>===============================</div>
    <div>| Path Spec | Private |
    <br />+-------------------------------------+--------------------------------------+
    <br />| /blog/user/*/view/* | /blog/blog (0) |
    <br />| | -> /blog/user (1) |
    <br />| | -> /blog/view (1) |
    <br />| | => /blog/view_off |
    <br />| /blog/user/*/view/*/* | /blog/blog (0) |
    <br />| | -> /blog/user (1) |
    <br />| | -> /blog/view (1) |
    <br />| | => /blog/view_page_off |
    <br />| /blog/user/*/* | /blog/blog (0) |
    <br />| | -> /blog/user (1) |
    <br />| | => /blog/view_page_user |
    <br />| /blog/user/* | /blog/blog (0) |
    <br />| | -> /blog/user (1) |
    <br />| | => /blog/view_user |
    <br />'-------------------------------------+--------------------------------------'
    <br />
    <br />
    <br /></div>
    <div>
    <br />---   ---
    <br /> :   <notformat@gmail.com>
    <br />: kiev-perl-users-group@googlegroups.com
    <br />: 8 , 23:08:33
    <br />: Re: Re: Re: Re[4]: 
    <br />
    <br />
    <blockquote class="ukr_editor_quotation" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">>
    <br />>   : IP-, Perl5
    <br />>  IPType.pm
    <br />>
    <br />> package IPType;
    <br />> use Regexp::Common 2.105;
    <br />> use MooseX::Types::Moose qw( Str );
    <br />> use MooseX::Types -declare => [ qw(IP) ];
    <br />>
    <br />> subtype IP, as Str, where {
    <br />> $_ =~ /\A $RE{net}{IPv4} \z/msx
    <br />> }, message {
    <br />> "'$_' is not a valid IP";
    <br />> };
    <br />>
    <br />>  typed.pl
    <br />>
    <br />> use IPType qw/IP/;
    <br />> use MooseX::Lexical::Types qw/IP/;
    <br />>
    <br />> my IP $foo; # declare typed variable
    <br />> $foo = '192.168.1.1'; # works
    <br />> $foo = 'bar'; # fails
    <br />
    <br />import java.util.regex.*;
    <br />
    <br />public class TestRegexp {
    <br />public static final Pattern pattern = Pattern.compile
    <br />("[a-zA-Z]{1}[a-zA-Z\d\u002E\u005F]+@([a-zA-Z]+\u002E){1,2}((net)|(com)|(org))");
    <br />
    <br />public static void doMatch(String word) {
    <br />String output = "Validation for " + word;
    <br />Matcher matcher = pattern.matcher(word);
    <br />if (matcher.matches())
    <br />output += " passed."
    <br />else
    <br />output += " not passed."
    <br />System.out.println(output);
    <br />}
    <br />
    <br />public static void main(String[] args) {
    <br />doMatch("c0nst@money.simply.net");
    <br />doMatch("somebody@dev.com.ua");
    <br />doMatch("Name.Sur_name@gmail.com");
    <br />doMatch("useR33@somewhere.in.the.net");
    <br />}
    <br />
    <br />}
    <br />        .
    <br />
    <br /></blockquote></div>
  


</div></body>
</html>