Upload
yoshihiro-sasaki
View
3.317
Download
1
Embed Size (px)
DESCRIPTION
Hokkaido.pm #4でCPANモジュールを18個紹介しました
Citation preview
2011/02/19 Hokkaido.pm #4佐々木義広
CPAN/便利モジュール
1
2011年2月19日土曜日
佐々木義広Webプログラマ 兼 サーバ管理者Twitter @aloelightCPAN YSASAKIBlog http://blog.vitamin11.org/
自己紹介
2
2011年2月19日土曜日
CPAN
3
Comprehensive Perl Archive Network
2011年2月19日土曜日
4
2011年2月19日土曜日
8375 authors19934 modules
5
2011年2月19日土曜日
凄いいっぱいある
6
2011年2月19日土曜日
AlgorithmMath
DateTimeListGeoClassFileGD
ImagerEncodeEmailNet
AppAudioBio
GamesMP3MIDISNMPSOAPWWWWin32GoogleYahoo
ConfigPerl6SQLGtk2
Apache2WebService
HTTPCGI
CatalystMIMEHTMLXML
7
2011年2月19日土曜日
インストール方法
8
$ perl Makefile.PL && make \make test && make install
$ cpan Foo$ cpanm Foo
2011年2月19日土曜日
便利モジュール紹介
9
2011年2月19日土曜日
便利と感じるかは個人差があります。また、この紹介内容は個人の見解であり、
Hokkaido.pmが保証するものではありません。
ぶっちゃけるとモジュールの選別で悩んだら、IRC: #perl-casual@freenodeで質問するといいと思います。
注意
10
2011年2月19日土曜日
Perl::TidyApp::cpanminusackGraph::EasyText::TabulerDisplayGrowl::AnyConfig::PitXML::SimpleHTML::Shakan
DBIx::SkinnyWWW::MechanizeWeb::ScraperPath::ClassDateTimeTime::PieceImagerEncodeEncode::JP::Mobile
2011年2月19日土曜日
Perlのコード整形~/.vimrcへの記載例
nnoremap ,pt <ESC>:%!perltidy -q -pbp<CR>
Perl::Tidy
12
2011年2月19日土曜日
$ curl -L http://cpanmin.us | \perl - --sudo App::cpanminus$ cpanm -l extlib/ DBD::SQLite
App::cpanminus
13
2011年2月19日土曜日
$ find . -type f -name ‘*.html’ | xargs grep foo↓
$ ack --html foo
ack
14
2011年2月19日土曜日
$ cat | graph-easy[hoge] --> [fuga]
+------+ +------+| hoge | --> | fuga |+------+ +------+
Graph::Easy
15
2011年2月19日土曜日
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日土曜日
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日土曜日
use Config::Pit;my $config = pit_get( "example.com", require => { "username" => "your username", "password" => "your passwor"});
Config::Pit
18
2011年2月19日土曜日
use XML::Simple;my $data = XMLin($xml);my $xml = XMLout($data);
XML::Simple
19
2011年2月19日土曜日
Form Generator/ValidatorFormValidator::Liteがバックエンド
HTML::Shakan
20
2011年2月19日土曜日
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日土曜日
シンプルなORマッパー詳細はcharsbarさんが好評連載中の下記ページで!
モダンPerlの世界へようこそ 第39回http://goo.gl/WLtrf
DBIx::Skinny
22
2011年2月19日土曜日
my $mech = WWW::Mechanize->new;$mech->get($url);$mech->submit_form( fields => { username => ‘aloelight’, password => ‘hehehehe’ });
WWW::Mechanize
23
2011年2月19日土曜日
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日土曜日
use Path::Class;my $content = file(‘aaa.txt’)->slurp;
Path::Class
25
2011年2月19日土曜日
便利な日付処理モジュール※でかいし重いよ
use DateTime;print DateTime->now->add( days => 1 )->ymd;
DateTime
26
2011年2月19日土曜日
これも日付処理DateTimeより軽い
大抵はこれで十分だと思いますuse Time::Piece;print localtime(time + 60*60*24 )->ymd;
Time::Piece
27
2011年2月19日土曜日
画像処理Image::Magickよりインターフェイスが綺麗?
use Imager;my $img = Imager->new;$img->read($filename);
my $thumb = $img->scale( xpixels => 50 );
Imager
28
2011年2月19日土曜日
複数の正規表現をひとつに合体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日土曜日
文字コード変換はこれ標準モジュールだから大体安心
use Encode;from_to($octets, ‘utf8’, ‘cp932’);
Encode
30
2011年2月19日土曜日
日本の携帯電話の絵文字変換Encodeで指定できるエンコーディングを追加するx-sjis-imode, x-sjis-softbank, x-sjis-kddi-auto
Encode::JP::Mobile
31
2011年2月19日土曜日
ご静聴ありがとうございました
32
2011年2月19日土曜日