Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ブックマーク / perl-users.jp (61)

  • Acme::Text::Glitchでテキストをぐちゃぐちゃにしよう - Articles Advent Calendar 2011 Acme

    初日に続き、新潟Perl人のneko_gata_s(shinpei)です。型さんとかしんぺいさんとかぺーちゃんとかいろんな呼ばれ方をしてるので好きに呼んでください。今日は拙作のAcme::Text::Glitchというモジュールの紹介をさせていただきます。CPANにはあがっておらず、GitHubに置いてあるのでインストールは $ cpanm https://github.com/Shinpeim/p5-Acme-Text-Glitch/tarball/master からどうぞ。 何をするモジュールなのか/どう使うのか その名のとおり、テキストをグリッチします。つまり、たとえば"Glitch"という文字列をAcme::Text::Glitchに掛けると、̦̩̲ͩ́͘G̬̤̱̈́͜l̠̺͑͟ỉ͓͚̹̓͊͟͞t̛͇̙̩̟̐ͪͣchとなります。 なんだがぐちゃぐちゃになりましたね。使い方は以下の

    Acme::Text::Glitchでテキストをぐちゃぐちゃにしよう - Articles Advent Calendar 2011 Acme
  • PDLで数値計算 - Articles Advent Calendar 2012 Casual

    こんにちは、週末海でマンボウを獲っていたらラギアクルスに襲われた@hirataraです。今回はPerl Data Languageについて紹介します。 Perl Data LanguageとはMATLABやNumpy、Rなどと同様に、多次元配列を効率よく扱って数値計算を実現するためのライブラリです。cpanmで普通にインストールすれば使えますが、グラフを描画したり格的な数値計算のライブラリであるGSLのバインディングを利用したりする場合はhomebrewでゴニョゴニョしたりする必要があるので、多少頑張って下さい。 基的にはpdl関数でオブジェクトに変更してから使います。 use PDL; my $pdl = pdl [[1, 0, 0], [0, 1, 0], [0, 0, 1]]; print $pdl; 【実行結果】 [ [1 0 0] [0 1 0] [0 0 1] ] pdlが

    PDLで数値計算 - Articles Advent Calendar 2012 Casual
    kits
    kits 2012/12/11
  • List::Compareで二つの配列の集合を扱うの巻 - Articles Advent Calendar 2012 Casual

    こんにちは!hirobanexです!日はフランクに、2つの配列の集合を良い感じに取り扱えるList::Compare のご紹介です。podみると、いろいろなメソッドとかオプションがあるのですが今回ご紹介するのは、 get_intersection get_union get_Lonly get_Ronly の基的な4つのメソッドです。 取り扱う集合とメソッドの関係 それぞれのメソッドの機能をコトバで説明するよりも図で説明したほうがわかりやすいのですが、ベン図のあれっていえばだいたいの方はわかると思うので、図は出しませんwというわけで、それぞれ以下のようになります。 get_intersection : 2つの配列の共通部分を取り出す get_union : 2つの配列で合わせた部分を取り出す(List::MoreUtilsのuniq関数と同じ) get_Lonly : 2つの配列のうち

    List::Compareで二つの配列の集合を扱うの巻 - Articles Advent Calendar 2012 Casual
    kits
    kits 2012/12/03
    intersection は [1, 2] ではなく [3, 4] では。 →修正済
  • Calendar::Japanese::Holiday - 日本の祝日を求める - Articles Advent Calendar 2011 Casual

    こんにちはこんにちは、sakurako_sです。 日の祝日を求めるのに便利なCalendar::Japanese::Holidayをゆるふわっと紹介します。 このモジュールには2つの関数があります。 isHoliday() - 指定日が祝日なら祝日名を返す getHolidays() - 指定月の祝日とその名前のハッシュリファレンスを返す コードを見てみましょう。 use strict; use Calendar::Japanese::Holiday; use YAML qw/Dump/; use Perl6::Say; binmode STDOUT, ':utf8'; # 祝日の名前 say isHoliday(2012, 1, 9); # 指定月の祝日 say Dump getHolidays(2012, 1); 実行結果は次の通り。 成人の日 --- 1: 元日 9: 成人の日 振

    Calendar::Japanese::Holiday - 日本の祝日を求める - Articles Advent Calendar 2011 Casual
  • prove についてのおさらい - Articles Advent Calendar 2011 Test

    はじめに 忘年会シーズンまっただ中で皆さんは毎日お酒を飲んでいることでしょうが、僕は友達が少ないため忘年会とか全然無いので財布はまだホットな状態なんですが、なぜ僕の妹は小鳩ちゃんじゃないんだっていうかそもそも妹いないしもう死ぬって感じの xaicron です。こんにちは。 そろそろ prove について簡単に説明しときますよっと。 prove のよく使うオプション prove にはいっぱいオプションがあるんですが、ここではよく使いそうなやつをピックアップして紹介しちゃいますよ! -v, --verbose # いっぱい出力する -l, --lib # lib を INC についかする perl -Ilib 相当 -b, --blib # blib/lib とか blib/arch を INC につかする -Mblib 相当 -c, --color # カラフルになる! MSWin32 だと

    prove についてのおさらい - Articles Advent Calendar 2011 Test
    kits
    kits 2011/12/22
  • Mojolicious::Liteでウェブツールを作ろう - Articles Advent Calendar 2011 Casual

    こんにちは、memememomoです。ゆるふわと聞いたので勢いで参加しました。 最近はPHPをメインで書いていて、perlは補助ツールなどを作るときに使っています。なので当にゆるふわにperlを使っています。 perlはいいですよね。便利なモジュールがたくさんあるので、サクッとスクリプトが書けてしまいます。 自分の場合、スクリプトは一つのファイルでパパッと書いちゃうことが多いです。 今回ご紹介するMojolicious::Liteは、一つのファイルにウェブアプリを書くことができるフレームワークです。 インストール Mojolicious::Liteのインストールは簡単です。 $ sudo sh -c "curl -L cpanmin.us | perl - Mojolicious" これだけです。perlbrew環境ならsudoも要りませんね。 アプリの記述 おもむろにエディタを立ち上げ

    Mojolicious::Liteでウェブツールを作ろう - Articles Advent Calendar 2011 Casual
    kits
    kits 2011/12/20
    Mojolicious::Lite の紹介
  • カジュアルにperlデバッガを使って捗る - Articles Advent Calendar 2011 Casual

    こんにちは。perlでほげほげするのが大好きなtoritori0318と申します。 さて突然ですが、みなさんはperlのデバッグをどのように行なっておりますでしょうか? print+Data::Dumper で十分!という方から、 epicやPadreといったIDEでデバッグしたいよね、 アプリで出してるログ使ってるよー、 はたまた漢ならperl標準デバッガ使うべし、 など、いろいろなご意見があるでしょう。 自分はほとんどのケースでperl標準デバッガを使っています。 軽いし環境に依存しないし機能は十分だし最高! ということで今回はPerl標準デバッガについて書いてみます。

    カジュアルにperlデバッガを使って捗る - Articles Advent Calendar 2011 Casual
    kits
    kits 2011/12/16
  • perl ♡ tests - Articles Advent Calendar 2011 Test

    こんにちはとみたトミールです。先日会社の勉強会で枠をもらいまして、「あまりperlによる開発をしていない人へのperl紹介」的な話としてperlのカルチャーとしてのテスト、という紹介をしました。わりと評判がよかったのでほかのトラックと内容かぶるところありますが気にせず書き起こし的に書いてみます。 dev w/perl select modules write tests ... perlを使った開発の特徴として、モジュールが充実してる話はわりと有名とおもいますが、実際のコード書き始める前にまず使うモジュールを選ぶ作業があったりします。そのへんはそのうち話すとして。 ほかに、テストを大事にするというかテストを書いてから実際のコードを書くという文化があるのが誇れる点だとおもっていて、 perl's test code = just simple perl script perlのテストコードは

    perl ♡ tests - Articles Advent Calendar 2011 Test
    kits
    kits 2011/12/13
    「perlのカルチャーとしてのテスト」
  • CGI::Expand - フラットなハッシュをネストデータに変換 - Articles Advent Calendar 2011 Casual

    こんにちは、こんばんはおはようございます。nihenです。 自分のよく使っているモジュールであまり他で紹介されていないものって何かなーと探していたらCGI::Expandはあまり紹介されてないなと思ったので紹介します。 CGI::Expandという名前がついていますが、CGI.pmやCommonGatewayInterfaceとはそんなに関係がありません。 このモジュールの使いどころですが、httpのリクエストにおけるパラメータの受け渡しは key=value&key2=value といった、フラットなハッシュデータなわけです。ただしよく配列を表すのに key=value&key=value2&key=value3 といったデータで受け渡しを行うことがあります。こういったデータに対してしてCGI.pmの->paramはArrayRefを返すようになっていますし、Plack::Request

    CGI::Expand - フラットなハッシュをネストデータに変換 - Articles Advent Calendar 2011 Casual
    kits
    kits 2011/12/07
    user.0.name のようなパラメタ名からネストデータを構築できる。
  • Encode::Locale - 環境に合わせたエンコーディングを提供する - Articles Advent Calendar 2011 Casual

    こんにちは、Csideです。最近はtwitterでウザ絡みするのが楽しくて仕方がありません。 さて、3分で読める軽い話をば。Gisle Aas氏の書いたEncode::Localeというモジュールの紹介です。 Perlでマルチバイト文字を処理する際は、「外から受け取るときはdecode、出力するときはencode」というのは基ですね。自分で使うスクリプトを書くぶんには、自分のターミナルのエンコーディングに合わせてencode/decodeしてやればいいですね。 しかし、作ったスクリプトを他の人にも使ってもらいたくなったときに問題は発生します。あなたの作ったスクリプトを使う人のターミナルのエンコーディングはUTF-8とは限らず、EUC-JPかもしれませんし、WindowsであればShiit_JISかもしれないからです。 それでは、その環境のターミナルのエンコーディングに合わせてencode

    Encode::Locale - 環境に合わせたエンコーディングを提供する - Articles Advent Calendar 2011 Casual
    kits
    kits 2011/12/02
    console_in, console_out (エンコーディング名), decode_argv (関数)
  • Alien::RRDtool - RRDtoolをCPANから入れる - Perl Advent Calendar Japan 2011 Hacker Track

    前置き こんにちは。gfx です。みなさん、意識は高まっていますか? 僕は上々です。今回は拙作の Alien::RRDtool というモジュールを紹介いたします。 CloudForecastやGrowthForecastを使いたい!と思ったとき、RRDtoolのPerlバインディングであるRRDs.pmをインストールするのが面倒だったりします。特にperlbrewで入れたperlではRRDtoolsのソースコードをとってきてビルドしなければならないため、RRDtoolはパッケージマネージャを使ってインストールし、CloudForecastはsystem perlで動かすというのが今までのベストプラクティスでした。 Alien::RRDtoolはRRDtoolをCPAN経由でインストールするためのモジュールで、RRDtoolの各種コマンドとPerlバインディングを簡単にインストールすることが

    Alien::RRDtool - RRDtoolをCPANから入れる - Perl Advent Calendar Japan 2011 Hacker Track
    kits
    kits 2011/12/02
    Alien名前空間は異なる言語(主にC)のライブラリをインストールするためのもの
  • Acmeモジュール入門 - Articles Advent Calendar 2011 Acme

    ついに今年もAdvent Calendarが始まりましたね!Acmeトラックの初日を担当させていただくneko_gata_sです。最近は新潟県に住んでいます。新潟はとてもごはんがおいしいので、機会があれば是非べにきてくださいね! さて、今日は初日なので、特定のモジュールの紹介の前に、Acmeとはなんぞや、というお話から始めてみたいと思います。 Acmeとは何ぞや Acmeとはそもそも「絶頂」を意味する英単語ですが、Perlの世界ではジョークモジュールの名前空間を意味します。Perlの有用なモジュールがたくさん登録されているCPANの中に、ジョークモジュールがなんの手綱もなしに野放しになっていたらまずいよね、という観点から、ジョークモジュールはAcmeという名前空間におさめよう、ということになりました。それ以来CPANのAcme名前空間には楽しいジョークモジュールがたくさんアップされ、時に

    Acmeモジュール入門 - Articles Advent Calendar 2011 Acme
    kits
    kits 2011/12/01
  • Config::ENV - 環境変数で config を切替えるためのモジュール - Articles Advent Calendar 2011 Hacker

    前置き こんにちは。cho45 です。みなさん、意識は高まっていますか? 僕は上々です。今回は拙作の Config::ENV というモジュールを紹介させて頂きます。 アプリケーション開発をするとき、開発用・テスト用・番用で、設定を変えたいわけですよね。だいたいのウェブアプリケーションフレームワークでは、環境変数にある値を設定することで、複数の設定を一括で切替えられるような機能を提供していると思います。Config::ENV は、その機能を1つのモジュールとしたものです。 Config モジュールを書く とりあえず簡単な使い方を紹介します。まずは以下のように設定を保持するモジュール (MyApp::Config) を作ります。 package MyApp::Config; use Config::ENV 'PLACK_ENV'; # (1) common +{ # (2) api_key

    Config::ENV - 環境変数で config を切替えるためのモジュール - Articles Advent Calendar 2011 Hacker
    kits
    kits 2011/12/01
  • /articles/advent-calendar/2011

    kits
    kits 2011/11/30
  • ひらがなをカタカナに変換したいだって?それなら Lingua::JA::Regular::Unicode - Articles Advent Calendar 2010 Hacker

    ひらがなをカタカナに変換したいだって?それなら Lingua::JA::Regular::Unicode ここにきて気をだしている tokuhirom です。こんにちは。 Perl でコードをかいていると、全角カタカナを半角カタカナに変換したいとか、そういう要望ってよくあるとおもうんですよね。そんなときは Lingua::JA::Regular::Unicode をつかうといいですね。 use Lingua::JA::Regular::Unicode qw/alnum_z2h hiragana2katakana space_z2h/; alnum_z2h("A1"); # => "A1" hiragana2katakana("ほげ"); # => "ホゲ" space_z2h("\x{0300}"); # => 半角スペース ちょうべんり。 たぶん、だいたいのケースでいま実装されてる関数

    ひらがなをカタカナに変換したいだって?それなら Lingua::JA::Regular::Unicode - Articles Advent Calendar 2010 Hacker
    kits
    kits 2010/12/27
  • Mouseに関する4つの誤解 - Articles Advent Calendar 2010 Hacker

    メリクリ!Hacker Trackもいよいよ最終日となりました! 今回は以下のようなMouseに関するよくある誤解を晴らそうと思います*1。 MouseはMooseとの互換性に難がある Mouseは依存モジュールが多い Mouseはロードが遅い Mouseは実行が遅い MouseはMooseとの互換性に難がある これは誤解です。確かにMouseはMooseと互換性のない部分もありますが、それはほとんどがメタオブジェクトプロトコルレベルの話です。メタオブジェクトプロトコルは普通に使っている限り意識する必要のないものなので、ほとんどのケースでは問題になりません。普通に使う限りは非互換な点は特にないでしょう。 Mouseは依存モジュールが多い これは誤解です。Mooseは大量の依存モジュールがありますが、Mouseが依存しているのは標準モジュールのみです。また、CコンパイラがあればXSコードをビ

    Mouseに関する4つの誤解 - Articles Advent Calendar 2010 Hacker
  • PerlIO::via で遊ぶ - JPerl advent calendar 2010 acme Track

    こんにちは、こんなにトミールを名乗っているのにいつまでたってもトミールの検索結果が抗ウイルス製剤のトミールです。今年も1位奪還は失敗しました。 さて、今日は Acme じゃないんだけど限りなく Acme ぽい PerlIO::via をご紹介しましょう。 役に立つ PerlIO 基礎知識(Acme に入る前に) perl の IO レイヤーは、実はいろいろできて便利です。一番便利なのは、:encoding() でしょう。 こういう、 use autodie; use Encode; open(my $fh, '<', 'file.txt'); while (my $line = Encode::decode('cp932', <$fh>)) { print Encode::encode('utf-8', $line); } 入力を cp932 エンコーディングで decode()、出力は

    PerlIO::via で遊ぶ - JPerl advent calendar 2010 acme Track
    kits
    kits 2010/12/24
  • 使っちゃいけない標準モジュール - Articles Advent Calendar 2010 Casual

    gfxと申します。 Perlは後方互換性を重視しているので、標準モジュールはめったに取り除かれる事がありません。しかしそれでも、いくつかのモジュールが将来的に取り除かれる見込みです。そのようなモジュールは使用しないほうがいいでしょう。また、取り除かれはしないものの、様々な理由から使用すべきでないモジュールもいくつかあります。今日は、そういった使うべきでないモジュールを紹介します。なお、このエントリの対象バージョンは5.8から5.14を想定しています。 さて、まずは取り除かれるモジュールです。現在のところ、以下の三つのモジュールが5.14でコアから削除される予定です。 Class::ISA Pod::Plainer Switch Class::ISAはクラス階層を直列化するモジュールですが、5.10以降はmroに取って代わられました。5.10未満のバージョン用にはMRO::Compatが用意

    使っちゃいけない標準モジュール - Articles Advent Calendar 2010 Casual
    kits
    kits 2010/12/23
    FileHandle, base も今や使うべきでないのかー。
  • EBCDIC文字コードで記号プログラムを難読化する - Articles Advent Calendar 2010 Sym

    3回連続で執筆を担当しているid:TAKESAKOです。 ASCIIと非互換な文字コードとして古くからEBCDICが知られています。 今日は記号プログラミングでわかりにくくしたJavaScriptプログラムをASCII非互換の文字コードEBCDICでさらに難読化してみようと思います。 EBCDICとは 1964年にIBMによって作られた汎用大型コンピュータ用の文字コードがEBCDICです。 EBCDICは「Extended Binary Coded Decimal Interchange Code」の略で「エビシディック」と発音します。COBOLなどの古代言語で使用された二進化十進数(BCD)を拡張する形で文字コードが定義されています。メインフレームやホストコンピュータなどで現在も使用されている現役バリバリの文字コードです。

    EBCDIC文字コードで記号プログラムを難読化する - Articles Advent Calendar 2010 Sym
  • モジュールのバージョンを確認するときどうやってますか? - Articles Advent Calendar 2010 Casual

    もう恋なんてしないなんて、言わないよ絶対kamipoです。 ときに皆さん、Perlのモジュールのバージョンを確認するときどうしてますか? 僕はPerlをはじめた最初のころ、ずっとこうやっていました。 $ perl -MAcme::Hidek -le 'print $Acme::Hidek::VERSION' 40.0 こうやってたの、僕だけじゃないですよね!? いまでは以下のワンライナーにaliasを張っているので毎回がんばってワンライナーを打たなくてよくなりました。 $ alias pmversion='perl -le '"'"'for $module (@ARGV) { eval "use $module"; print "$module ", ${"$module\::VERSION"} || "not found" }'"'" $ pmversion Acme::Hidek Ac

    モジュールのバージョンを確認するときどうやってますか? - Articles Advent Calendar 2010 Casual
    kits
    kits 2010/12/22
    perldoc -m で直に読みます。