― Web Technology and Life ―

PerlBeginners#10でLTしてきたご報告

2013-09-29
YAPC::Asia2013が終わったばかりですが、ytnobodyさん主催のPerl Beginners#10に二回目の参加でいってきました。久しぶりにいい初心者向けのネタが思い浮かんだのLTもしてきました。

Perl Beginnersとは

ytnobodyさんが主宰しているPerlの初心者向け勉強会で、西のpapixさんがやっているPerl入学式と双璧をなすイベントですね!

もう10回目ということで大変素晴らしい感じですね!!

今回のトピックス

  • papixさんの基調講演:わからなかったときの良い質問の方法
  • ビギナーセッション:ゆーすべーさんのzenrizeが動かなくなった
  • ビギナーズセッション:趣味のアプリをつくったけど、手法が
  • aloelightさん + xtetsujiさん: ちょっとSmartなprintデバッグ
  • ytnobodyさん: よくあるエラーメッセージと対処法
  • 私: Excelが出力するCSVを取り込むことから学ぶPerlと3つのCPANモジュール
  • i47_rozaryさん: 時間を扱う時に気をつけること(発表の本題直前にPCの電源消えるw)
  • tsucchiさん: Data::Dumperでprintデバッグ
  • 飛び込み:Blenda::Declare(マックノホームブリューにいれるライブラリの管理ソフト)
  • とびこみ:

その他詳細はPerl Beginners #10 を開催します!をご覧ください。

papixさんの話は大変有意義な話でした。しっかり勉強しているなーと背筋が伸びる気分ですね!あと、ytnobodyさんのエラーメッセージの話も初心者の頃は無視しがちなのでとてもいい話だと思いました。perldoc perldiagをみよー。

ビギナーズセッションが2つもあったし、LTも飛び込みが2件あったし、なかなか盛り上がって良かったんじゃないかなーと思っています!!

いろいろ聞ける環境ってとてもいいですね!!

モヒカンのまこぴーさん(@mackee_w)が、Blenda::Declare使ってみてくださいって言われたときに、CPANにあげてくれたら使いますっていったのを聞いてみんな「キョー!」という反応でしたw

自分のLTについて ~Excelが出力するCSVを取り込むことから学ぶPerlと3つのCPANモジュール~

前に「Excelが出力する改行付のデータのパースってText::CSVで扱えるの?」ってAuthorのmakamakaさんにおこがましくお伺いしたら「できますよ」ってあっさり言われて、すみません、すみません、って感じだったんですが、その思い出をLTにしました。

裏話的には、なんか、Text::CSV::SimpleっていうモジュールをCSVのパースにずっと使っていたんですが、これがインターフェースシンプルなんですが改行付のセルのパースできないんですよねー。だけど、Text::CSVのPOD見たらメソッドモリモリだったから、直接本人に聞いてしまった次第ですねw

だいたいはまるときって前段階に思い込みという罠がありますよねー。

資料は以下の通りです。

なんか発表した後、まこぴーさんにDDP使うといいよって言われたので、以下の紹介しておきます。

DDPモジュールの概要と使い方

DDPはフルスタックDumpツールのData::Printerの簡易的に使えるラッパーモジュールで、Dumpデータのきれいな整形、カラーリング、オプション指定による様々な変更を可能になります。

シンプルに使うには以下のようにします。

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use LWP::UserAgent;

my $data = +{
    hash => +{
        aaa => 111,
        bbb => 222,
        ccc => 'ほげほげ',
    },
    code => sub {
        warn "ほげほげ";
    },
};

my $ua = LWP::UserAgent->new();

use DDP {deparse => 1,}; #CodeRefをDumpするためのdeparseオプションつき
p $data;

出力結果は以下の通りです

[hirobanex@000-local-env]$ perl hogehoge.pl                                                                                    
Wide character in print at /home/hirobanex/.plenv/versions/5.18.0/lib/perl5/site_perl/5.18.0/Data/Printer.pm line 190.
\ {
    code   sub {
            use warnings;
            use strict;
            warn 'ほげほげ';
        },
    hash   {
        aaa   111,
        bbb   222,
        ccc   "ほげほげ"
    }
}

テキスト化しているので、カラーリングがわかりませんが、とてもいいですね!詳細はPerlのデータ構造をダンプするためのモジュール群という記事で詳しく書いておりますので、こちらも参考にしてください。

終わりに

今後もいい感じの初心者向けケーススタディみたいなのが思つけばどんどんシェアしていきたい次第ですが、僕自身もさらなる高みを目指していかなければいけない今日この頃ですね。

Perl update_at : 2013-09-29T19:48:07
hirobanex.netの更新情報の取得
 RSSリーダーで購読する   
blog comments powered by Disqus