Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome or Safari browser. Firefox 10 (to be released soon) will also handle it.

Perl 研修

Agenda

はじめに

実習の進め方

Perl について

package

package とは

package の宣言

モジュール

モジュールとは

モジュールの呼び出し

課題1

その前に

課題レポジトリ clone

課題のディレクトリ構造

課題の動作確認

課題1 やってみましょう

モジュールの定義

サブルーチンの定義

サブルーチンの呼び出し

課題2

課題2 テスト内容参考

Perl でオブジェクト指向

Perlのオブジェクト指向

メソッドの定義

メソッドの呼び出し

オブジェクトは勝手に生成されるの?

オブジェクトの生成

コンストラクタの定義

コンストラクタの定義

コンストラクタの呼び出し

アロー演算子って何なの?

課題3

課題3 テスト内容参考

Perl の代表的モジュール

CPAN

List::Util, List::MoreUtils

Encode

Data::Util

Class::Accessor

Moose/Mouse/Moo

DBI

Cache::Memcached::Fast

Perl の環境系のしくみ

Perl の環境系のしくみ

CPAN/cpanm

PSGI/Plack

Carton

plenv, perlbrew

Minilla

PSGIアプリ

cpanm のインストール

carton のインストール

minilla のインストール

モジュールのひな形作成

    $ cd practice
    $ minil new MyPSGIApp
    $ cd MyPSGIApp

cpanfile の記述

carton の実行

    $ carton install

app.psgi ファイルの作成

app.psgi ファイルの作成

    use strict;
    use warnings;

    sub {
        [
            '200',
            [ 'Content-Type' => 'text/plain' ],
            ['Hello, Plack/PSGI world!']
        ]
    };

plackサーバの起動

起動したらアクセスしてみて下さい

    $ open http://localhost:5000/

PSGI について簡単な解説

plack middleware

onion

plack middleware を使ってみる

cpanfile に追記

    requires 'Plack::Builder';
    requires 'Plack::Middleware::Debug';

app.psgi を編集

    use strict;
    use warnings;

    use Plack::Builder;

    builder {
        enable 'Debug';
        sub {
            [
                '200',
                [ 'Content-Type' => 'text/html' ],
                ['<html><body>Hello, Plack/PSGI world!</body></html>']
            ]
        }
    };

開いてみる

実際にアプリを開発する

以上講義は終わりです

extra 演習

Perl実習終わり

Use a spacebar or arrow keys to navigate