Modern Perl
Upcoming SlideShare
Loading in...5
×
 

Modern Perl

on

  • 3,467 views

 

Statistics

Views

Total Views
3,467
Views on SlideShare
3,325
Embed Views
142

Actions

Likes
3
Downloads
33
Comments
0

5 Embeds 142

http://blog.bluefeet.net 124
http://www.slideshare.net 12
http://www.tumblr.com 3
http://safe.tumblr.com 2
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Modern Perl Modern Perl Presentation Transcript

  • Modern Perl
  • “the world's best and most effective Perl programmers take full advantage of the CPAN to make up for missing language features, to improve their productivity, and because solving a problem once and for all and sharing it is the ultimate expression of laziness, impatience, and hubris” - chromatic
  • Perl: The Foundation
  • CPAN: The Framework
  • 15,000+ Modules
  • 7,000+ Authors
  • ~50 Uploads a Day
  • 201 Mirrors
  • Massive.
  • Standard OO Perl:
  • package Person; sub new { my ($class, %args) = @_; die(„Name is required‟) if !$args{name}; die(„Name must be a string‟) if ref $args{name}; return bless %args, $class; } sub hello { my ($self) = @_; print „Hi, my name is, „ . $self->{name} . “n”; }
  • Modern OO Perl:
  • package Person; use Moose; use MooseX::Method::Signature; has „name‟ => ( is => ‟rw‟, isa => ‟Str‟, required => 1, ); method hello { say „Hi, my name is, „ . $self->name(); }
  • Modern Perl Code is
  • Concise
  • Robust
  • Maintainable
  • Agile
  • CPAN.
  • Knowing Perl is not Syntax
  • Know your Tools
  • Know CPAN
  • Be Involved
  • The Short List
  • use strict; use warnings; use autodie;
  • List::Utils List::MoreUtils IO::File IO::Dir Sub::Name Sub::Exporter IPC::Cmd DateTime
  • DBIx::Class Rose::DB CGI::Application Catalyst HTTP::Engine POE
  • Test::More Test::Exception Test::Data Test::Warn
  • Moose MooseX::Method::Signature MooseX::Declare MooseX::MultiMethods MooseX::Types MooseX::Getopt Mouse
  • Perl 5.10
  • More Reading • http://www.modernperlbooks.com/mt/ • http://www.enlightenedperl.org/ • http://blog.timbunce.org/ • irc.perl.org #moose, #dbix-class, #catalyst, etc