YAPC::Tiny Introduction

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    YAPC::Tiny Introduction - Presentation Transcript

    1. YAPC::Tiny Thanks for Coming! tags: yapctiny, taichung #chupei.pm freenode
    2. Today’s Talks gugod / Perl nothingmuch 1. Try::Tiny, 2.Continuation::Delimited shelling Beautify code through extending module Ijs Jifty clkao Trading with Perl ihower key-value store (TokyoCabinet) St. Keven (zard) imacat penkia BlueT c9s
    3. long long time_t ago ...
    4. shell script ps -e | wc | expand | sed -e s/ /:/g | awk - F":" '{ print $2 }'
    5. Larry Wall Father of Perl
    6. Just Perl It! Larry Wall Father of Perl
    7. !$@%&* Larry Wall Father of Perl
    8. Version Date 1.000 1987-Dec-18 2.000 1988-Jun-05 3.000 1989-Oct-18 4.000 1991-Mar-21 5.000 1994-Oct-17 5.6.0 1995-Mar-13 5.8.0 2002-Jul-18 5.9.0 2003-Oct-27 5.10.0 2007-Dec-18 5.10.1 2009-Aug-22
    9. Version Date 1.000 1987-Dec-18 2.000 1988-Jun-05 3.000 1989-Oct-18 4.000 1991-Mar-21 5.000 1994-Oct-17 5.6.0 1995-Mar-13 5.8.0 2002-Jul-18 5.9.0 2003-Oct-27 20y 5.10.0 2007-Dec-18 5.10.1 2009-Aug-22
    10. Perl 5: The Big Nouns • Compatibility • Maintainability • Extensibility • Portability • Usability • Responsibility • Reusability • Embeddibility • Readability • Respectability? • Scalability
    11. Perl 6 @a »+« @b
    12. • pugs http://pugscode.org • rakudo http://rakudo.org/
    13. Modern Perl Perl5
    14. Modern Sense
    15. Best Practices
    16. Damian Conway
    17. Damian Conway
    18. Clear Semantic Trivial to Understand
    19. Moose Postmodern OO /
    20. package Point; use Moose; has 'x' => (is => 'rw', isa => 'Int'); has 'y' => (is => 'rw', isa => 'Int'); sub clear { my $self = shift; $self->x(0); $self->y(0); }
    21. package Point3D; use Moose; extends 'Point'; has 'z' => (is => 'rw', isa => 'Int'); after 'clear' => sub { my $self = shift; $self->z(0); };
    22. package Point3D; use Moose; extends 'Point'; has 'z' => (is => 'rw', isa => 'Int'); after 'clear' => sub { my $self = shift; $self->z(0); };
    23. package Point3D; use Moose; extends 'Point'; has 'z' => (is => 'rw', isa => 'Int'); after 'clear' => sub { my $self = shift; $self->z(0); };
    24. package Point3D; use Moose; extends 'Point'; has 'z' => (is => 'rw', isa => 'Int'); after 'clear' => sub { my $self = shift; $self->z(0); };
    25. use MooseX::Declare; class Point { has 'x' => (is => 'rw', isa => 'Int'); has 'y' => (is => 'rw', isa => 'Int'); method clear { $self->x(0); $self->y(0); } }
    26. Extendibility
    27. Self-Modifying Perl
    28. App->start { say "Hello"; }; Not-really valid Perl5
    29. App->start(sub { say "Hello"; }); Valid Perl5
    30. WHY ? • / Augmented Syntax • / Extended Semantic
    31. As a modern Perl programmer... Perl
    32. We Learn Perl
    33. We Learn Perl
    34. We Write Perl perl -MTime::JulianDay -lwe'@r=reverse(M=>(0)x99=>CM=>(0)x399=>D=>(0)x99=>CD=>( 0)x299=>C=>(0)x9=>XC=>(0)x39=>L=>(0)x9=>XL=>(0)x29=>X=>IX=>0=>0=>0=>V=>IV= >0=>0 =>I=>$==-2449231+gm_julian_day+time);do{until($=<$#r){$_.=$r[$#r];$=-=$#r}for(; !$r[--$#r];){}}while$=;$,="x20";print+$_=>September=>MCMXCIII=>=>=>=>=>=>=>=>'
    35. #!/usr/bin/perl -w # camel code use strict; $_='ev al("seek040D ATA,0, 0;");foreach(1..3) {<DATA>;}my @camel1hump;my$camel; my$Camel ;while( <DATA>){$_=sprintf("%-6 9s",$_);my@dromedary 1=split(//);if(defined($ _=<DATA>)){@camel1hum p=split(//);}while(@dromeda ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif t(@dromedary1 ))&&/S/){$camel1hump+=1<<$CAMEL;} $CAMEL--;if(d efined($_=shift(@dromedary1))&&/S/){ $camel1hump+=1 <<$CAMEL;}$CAMEL--;if(defined($_=shift( @camel1hump))&&/S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if( defined($_=shift(@camel1hump))&&/S/){$camel1hump+=1<<$CAME L;;}$camel.=(split(//,"040..m`{/J047134}L^7FX"))[$camel1h ump];}$camel.="n";}@camel1hump=split(/n/,$camel);foreach(@ camel1hump){chomp;$Camel=$_;y/LJF7173175`047/061062063 064065066067070/;y/12345678/JL7F175173047`/;$_=reverse; print"$_040$Cameln";}foreach(@camel1hump){chomp;$Camel=$_;y /LJF7173175`047/12345678/;y/12345678/JL7F1751730 47`/; $_=reverse;print"040$_$Cameln";}';;s/s*//g;;eval; eval ("seek040DATA,0,0;");undef$/;$_=<DATA>;s/s*//g;( );;s ;^.*_;;;map{eval"print"$_"";}/.{4}/g; __DATA__ 124 1 501450401651631450401571 460401 410 40143141 1551451 540401 51155 141 1471450 40151156 040141 16316 3 157143 15114116 41511 57156 040167 1511641 50040 1201 45162 15404015 1163 04014 10401 641621 41144 145 15514 1162 15304 0157 146 04011 7047 1221 4515 11541 54171 040 046 01210116 316 315 714315 114 116 4145163 054 040 11115614 3056 040 12516314514 4040 1671 511641 500 40160 145162 155151 163163 1511 57156056
    36. We Promote Perl http://www.pm.org/ http://chupei.pm.org/
    37. We Rock Perl YAPC 10 years http://yapc.org/ http://yapc.asia/ ( )
    38. We Extend Perl
    39. We &heart; Perl
    40. We &heart; Perl
    41. Thanks for Listening
    SlideShare Zeitgeist 2009

    + Kang-min LiuKang-min Liu Nominate

    custom

    142 views, 1 favs, 0 embeds more stats

    The introduction talk of YAPC::Tiny.

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 142
      • 142 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 1
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories