Banking on Perl

Lisbon -- 3rd August 2009

Paul Johnson


www.pjcj.net

Perl in Large Corporations

Perl in Large Corporations

Perl in UBS

Perl in UBS

UBS

UBS

UBS

UBS

3 minutes

3 minutes

Glue

Glue

New Development in Perl

New Development in Perl

Case studies

Case studies

Here comes the science bit!

Here comes the science bit!

Go, Johnny, Go!

Go, Johnny, Go!

5 minutes

5 minutes

Outsourcing

Outsourcing

Systems

Systems

Databases

Databases

Webservers

Webservers

Communications

Communications

Data Munging

Data Munging

MQSeries

MQSeries

High availability

High availability

Monitoring

Monitoring

Logging

Logging

Logging

Logging

Logging

Logging

Archiving

Archiving

8 minutes

8 minutes

Deployment

Deployment

Extra development

Extra development

Database Investigation

Database Investigation

Management Information System

Management Information System

Legal Archiving

Legal Archiving

Automated Testing

Automated Testing

More Communications

More Communications

CPAN

CPAN Algorithm::Diff aliased Alien::SeleniumRC Any::Moose AppConfig Archive::Tar Archive::Zip Array::Compare autobox B::Hooks::EndOfScope B::Hooks::OP::Check Bit::Vector B::Utils Cache::FastMmap Carp::Assert Carp::Assert::More Carp::Clan Catalyst::Action::RenderView Catalyst::Controller::FormBuilder Catalyst::Devel Catalyst::Engine::Apache Catalyst::Engine::HTTP::POE Catalyst::Model::DBIC::Schema Catalyst::Plugin::Authentication Catalyst::Plugin::Authorization::Roles Catalyst::Plugin::ConfigLoader Catalyst::Plugin::JSONRPC Catalyst::Plugin::Server Catalyst::Plugin::Session Catalyst::Plugin::Session::State::Cookie Catalyst::Plugin::Session::Store::FastMmap Catalyst::Plugin::StackTrace Catalyst::Plugin::Static::Simple Catalyst::Plugin::XMLRPC Catalyst::Runtime Catalyst::View::JSON Catalyst::View::TT CatalystX::Component::Traits CGI::FormBuilder CGI::Simple Class::Accessor Class::Accessor::Chained Class::Accessor::Grouped Class::C3 Class::C3::Adopt::NEXT Class::C3::Componentised Class::Data::Accessor Class::Data::Inheritable Class::Inspector Class::MOP Class::Singleton Class::Trigger Clone Compress::Raw::Bzip2 Compress::Raw::Zlib Config::Any Config::General Config::Tiny Context::Preserve CPAN CPAN::Mini C::Scan CSS::Tiny Data::Dump Data::Dumper Data::Flow Data::OptList Data::Page Data::UUID Data::Visitor Date::Calc DateTime DateTime::Locale DateTime::TimeZone DBD::Pg DBD::SQLite DBI DBIx::Class DBIx::Class::Schema::Loader DBIx::ContextualFetch DBIx::Log4perl DBIx::ProcedureCall Devel::Caller Devel::Cover Devel::Declare Devel::GlobalDestruction Devel::Leak Devel::PartialDump Devel::StackTrace Devel::Symdump Digest::MD5 Digest::SHA Email::Address Email::Send Email::Simple Error ExtUtils::CBuilder ExtUtils::Depends ExtUtils::MakeMaker FCGI FCGI::ProcManager File::ChangeNotify File::Copy::Recursive File::Find::Rule File::HomeDir File::Modified File::Remove File::Temp File::Which Hook::LexWrap HTML::Lint HTML::Parser HTML::TagCloud HTML::Tagset HTTP::Body HTTP::Request::AsCGI HTTP::Response::Encoding HTTP::Server::Simple Image::Size IO::Compress IO::String IO::stringy IO::Tty IO::Zlib JSON JSON::Any JSON::XS libnet libwww::perl Lingua::EN::Inflect Lingua::EN::Inflect::Number List::MoreUtils Locale::Maketext::Simple Log::Log4perl MIME::Base64 MIME::Types Module::Build Module::Find Module::Install Module::ScanDeps Moose Moose::Autobox MooseX::Declare MooseX::Emulate::Class::Accessor::Fast MooseX::Meta::TypeConstraint::ForceCoercion MooseX::MethodAttributes MooseX::Method::Signatures MooseX::Params::Validate MooseX::SemiAffordanceAccessor MooseX::Traits MooseX::Traits::Pluggable MooseX::Types MooseX::Types::Structured Mouse MRO::Compat namespace::autoclean namespace::clean Net::Server Net::SSLeay Number::Compare Number::Format Object::Signature OLE::Storage_Lite PadWalker Params::Util Params::Validate PAR::Dist Parse::CPAN::Meta Parse::Method::Signatures Path::Class PathTools Perl6::Junction Perl::Tidy Pod::Coverage POE POE::Test::Loops PPI PPI::HTML Proc::ProcessTable Return::Value RPC::XML Scalar::List::Utils Scope::Guard Set::Object Shell::Source SOAP::Lite Sort::Versions Spreadsheet::ParseExcel SQL::Abstract SQL::Abstract::Limit String::RewritePrefix Sub::Exporter Sub::Install Sub::Name Sub::Uplevel Task::Weaken Template::Plugin::Number::Format Template::Timer Template::Toolkit TermReadKey Term::ReadLine::Perl Test::ClassAPI Test::Deep Test::Differences Test::Exception Test::Harness Test::JSON Test::LongString Test::Mock::LWP Test::MockObject Test::NoWarnings Test::Object Test::Pod Test::Pod::Coverage Test::Simple Test::SubCalls Test::Tester Test::use::ok Test::Warn Test::WWW::Mechanize Test::WWW::Mechanize::Catalyst Test::WWW::Selenium Text::Aligner Text::Diff Text::Glob Text::SimpleTable Text::Table Text::TabularDisplay Text::Template Tie::IxHash Tie::ToObject TimeDate Tree::DAG_Node Tree::Simple Tree::Simple::VisitorFactory UNIVERSAL::can UNIVERSAL::isa UNIVERSAL::require URI Variable::Magic WWW::Mechanize XML::Parser YAML YAML::LibYAML YAML::Perl YAML::Syck YAML::Tiny

12 minutes

12 minutes

Why Perl?

Why Perl?

Challenges

Challenges

You've done what?

You've done what?

All the world is not Perl

All the world is not Perl

Java Interfaces

Java Interfaces

15 minutes

15 minutes

NFS

NFS

Advantages

Advantages

Disadvantages

Disadvantages

Which approach is better?

Which approach is better?

Where is Perl used?

Where is Perl used?

Who uses Perl?

Who uses Perl?

Why is Perl not used more?

Why is Perl not used more?

Conclusions

Conclusions