32
2011/02/19 Hokkaido.pm #4 佐々木義広 CPAN/便利モジュール 1 2011219日土曜日

CPAN/便利モジュール

Embed Size (px)

DESCRIPTION

Hokkaido.pm #4でCPANモジュールを18個紹介しました

Citation preview

Page 1: CPAN/便利モジュール

2011/02/19 Hokkaido.pm #4佐々木義広

CPAN/便利モジュール

1

2011年2月19日土曜日

Page 2: CPAN/便利モジュール

佐々木義広Webプログラマ 兼 サーバ管理者Twitter @aloelightCPAN YSASAKIBlog http://blog.vitamin11.org/

自己紹介

2

2011年2月19日土曜日

Page 3: CPAN/便利モジュール

CPAN

3

Comprehensive Perl Archive Network

2011年2月19日土曜日

Page 4: CPAN/便利モジュール

4

2011年2月19日土曜日

Page 5: CPAN/便利モジュール

8375 authors19934 modules

5

2011年2月19日土曜日

Page 6: CPAN/便利モジュール

凄いいっぱいある

6

2011年2月19日土曜日

Page 7: CPAN/便利モジュール

AlgorithmMath

DateTimeListGeoClassFileGD

ImagerEncodeEmailNet

AppAudioBio

GamesMP3MIDISNMPSOAPWWWWin32GoogleYahoo

ConfigPerl6SQLGtk2

Apache2WebService

HTTPCGI

CatalystMIMEHTMLXML

7

2011年2月19日土曜日

Page 8: CPAN/便利モジュール

インストール方法

8

$ perl Makefile.PL && make \make test && make install

$ cpan Foo$ cpanm Foo

2011年2月19日土曜日

Page 9: CPAN/便利モジュール

便利モジュール紹介

9

2011年2月19日土曜日

Page 10: CPAN/便利モジュール

便利と感じるかは個人差があります。また、この紹介内容は個人の見解であり、

Hokkaido.pmが保証するものではありません。

ぶっちゃけるとモジュールの選別で悩んだら、IRC: #perl-casual@freenodeで質問するといいと思います。

注意

10

2011年2月19日土曜日

Page 11: CPAN/便利モジュール

Perl::TidyApp::cpanminusackGraph::EasyText::TabulerDisplayGrowl::AnyConfig::PitXML::SimpleHTML::Shakan

DBIx::SkinnyWWW::MechanizeWeb::ScraperPath::ClassDateTimeTime::PieceImagerEncodeEncode::JP::Mobile

2011年2月19日土曜日

Page 12: CPAN/便利モジュール

Perlのコード整形~/.vimrcへの記載例

nnoremap ,pt <ESC>:%!perltidy -q -pbp<CR>

Perl::Tidy

12

2011年2月19日土曜日

Page 13: CPAN/便利モジュール

$ curl -L http://cpanmin.us | \perl - --sudo App::cpanminus$ cpanm -l extlib/ DBD::SQLite

App::cpanminus

13

2011年2月19日土曜日

Page 14: CPAN/便利モジュール

$ find . -type f -name ‘*.html’ | xargs grep foo↓

$ ack --html foo

ack

14

2011年2月19日土曜日

Page 15: CPAN/便利モジュール

$ cat | graph-easy[hoge] --> [fuga]

+------+ +------+| hoge | --> | fuga |+------+ +------+

Graph::Easy

15

2011年2月19日土曜日

Page 16: CPAN/便利モジュール

my $t = Text::TabularDisplay->new(qw/name twitter/);$t->add(qw/ysasaki aloelight/);print $t->render;

+---------+-----------+| name | twitter |+---------+-----------+| ysasaki | aloelight |+---------+-----------+

Text::TabularDisplay

16

2011年2月19日土曜日

Page 17: CPAN/便利モジュール

use Growl::Any;my $growl = Growl::Any->new;$growl->register("my app", ['Test1', 'Test2']);$growl->notify("Test1", "foo", "bar");

Growl::Any

17

2011年2月19日土曜日

Page 18: CPAN/便利モジュール

use Config::Pit;my $config = pit_get( "example.com", require => { "username" => "your username", "password" => "your passwor"});

Config::Pit

18

2011年2月19日土曜日

Page 19: CPAN/便利モジュール

use XML::Simple;my $data = XMLin($xml);my $xml = XMLout($data);

XML::Simple

19

2011年2月19日土曜日

Page 20: CPAN/便利モジュール

Form Generator/ValidatorFormValidator::Liteがバックエンド

HTML::Shakan

20

2011年2月19日土曜日

Page 21: CPAN/便利モジュール

package My::Form;use HTML::Shakan::Declare;form 'add' => ( TextField( name => 'name', required => 1, ), TextField( name => 'email', required => 1, ),);package main;my $form = My::Form->get(‘add’);print $form->render;

21

2011年2月19日土曜日

Page 22: CPAN/便利モジュール

シンプルなORマッパー詳細はcharsbarさんが好評連載中の下記ページで!

モダンPerlの世界へようこそ 第39回http://goo.gl/WLtrf

DBIx::Skinny

22

2011年2月19日土曜日

Page 23: CPAN/便利モジュール

my $mech = WWW::Mechanize->new;$mech->get($url);$mech->submit_form( fields => { username => ‘aloelight’, password => ‘hehehehe’ });

WWW::Mechanize

23

2011年2月19日土曜日

Page 24: CPAN/便利モジュール

URLからHTMLを取得してXPath, CSS Selectorを使ってぶっこ抜き!

use Web::Scraper;use URI;my $res = scraper { process ‘a’, ‘url[]’ => ‘@href’; }->scrape(URI->new(‘http://mixi.jp’));

Web::Scraper

24

2011年2月19日土曜日

Page 25: CPAN/便利モジュール

use Path::Class;my $content = file(‘aaa.txt’)->slurp;

Path::Class

25

2011年2月19日土曜日

Page 26: CPAN/便利モジュール

便利な日付処理モジュール※でかいし重いよ

use DateTime;print DateTime->now->add( days => 1 )->ymd;

DateTime

26

2011年2月19日土曜日

Page 27: CPAN/便利モジュール

これも日付処理DateTimeより軽い

大抵はこれで十分だと思いますuse Time::Piece;print localtime(time + 60*60*24 )->ymd;

Time::Piece

27

2011年2月19日土曜日

Page 28: CPAN/便利モジュール

画像処理Image::Magickよりインターフェイスが綺麗?

use Imager;my $img = Imager->new;$img->read($filename);

my $thumb = $img->scale( xpixels => 50 );

Imager

28

2011年2月19日土曜日

Page 29: CPAN/便利モジュール

複数の正規表現をひとつに合体my $ra = Regexp::Assemble->new;$ra->add( 'ab+c' );$ra->add( 'ab+-' );$ra->add( 'a\w\d+' );$ra->add( 'a\d+' );print $ra->re; # prints a(?:\w?\d+|b+[-c])

Regexp::Assemble

29

2011年2月19日土曜日

Page 30: CPAN/便利モジュール

文字コード変換はこれ標準モジュールだから大体安心

use Encode;from_to($octets, ‘utf8’, ‘cp932’);

Encode

30

2011年2月19日土曜日

Page 31: CPAN/便利モジュール

日本の携帯電話の絵文字変換Encodeで指定できるエンコーディングを追加するx-sjis-imode, x-sjis-softbank, x-sjis-kddi-auto

Encode::JP::Mobile

31

2011年2月19日土曜日

Page 32: CPAN/便利モジュール

ご静聴ありがとうございました

32

2011年2月19日土曜日