NAME Business::ISBN - work with International Standard Book Numbers SYNOPSIS use Business::ISBN; # 10 digit ISBNs $isbn10 = Business::ISBN->new('1565922573'); $isbn10 = Business::ISBN->new('1-56592-257-3'); # 13 digit ISBNs $isbn13 = Business::ISBN->new('978-0-596-52724-2'); # convert $isbn10 = $isbn13->as_isbn10; # for the 978 prefixes $isbn13 = $isbn10->as_isbn13; # maybe you don't care what it
宣伝と注意書き このサイトが元になったCPANモジュールガイドという本を書きました。 本書でも取り上げています。他、コラム扱いではありますが、WWW::ScripterというJavaScriptを理解するWWW::Mechanizeのサブクラスについて少し記載しました。 2007-02-18 use WWW::Mechanize; WWW::Mechanize を使うと、人間がブラウザですること (URL を開き、リンクをたどり、ID・Pass を入力、ログインボタンを押す...) を Perl にエミュレートさせることができます。略称 Mech(メック)。あまりに簡単・便利なのでなにかと悪用されることも多いモジュールです(うそです)。 Perl での HTTP 通信まわりは、LWP (libwww-perl) ファミリーが担当しており、ウェブの HTTP リクエストは LWP::User
本, perl | 01:33 | 問題にぶつかると「正規表現を使えばいい」と考える人がいる。 そして、問題を2つ抱えることになる。 --Jamie Zawinski 常に/xフラグを使用する。 これは、確実につかう。JScriptでもXRegExp使ってます。 Xを使うことで、ホワイトスペースが無視され、#も使用できる。そのため、ギチギチに詰められた正規表現である必要がなくて、意味のある単位ごとに、スペースで分けることができる。 もっと分かり易くするには、意味のあるグループごとに改行して、インデントを付け、コメントをつける。 常に/mフラグを使用する メタ文字^$は任意の行の先頭と末尾にはマッチしない。ほとんどのUnixユーティリティ(sed,grep,awk等)はもともと行思考なので、^$は行の先頭と末尾にマッチするが、Perlではそういった意味はもたない。(JavaScriptでも
perl v5.18.0 がリリースされました。 https://metacpan.org/release/RJBS/perl-5.18.0 このリリースでの新規機能はほとんどないものの、二つの非常に大きな変更があります。 ハッシュキーのランダム化 each(), keys(), values() で返されるハッシュキーの順番がハッシュ毎にランダムになりました。同じプロセス内、同じキーセットのハッシュでさえ順番が一致しなくなります。 use 5.18.0; use strict; use warnings; my %a = map { $_ => 1 } qw(foo bar baz); my %b = %a; say join ", ", keys %a; say join ", ", keys %b; 実行例: $ perl randomized-keys.pl baz, bar, f
Hachioji.pm#12で発表したネタです。Data::WeightedRoundRobin使ったら、rand使うようなコードが、いい感じにすっきり見やすくかけましたよーという話です。 嫌なコードの概要 要件 「以下のような感じで、実行する処理をランダムで変更してよ!」って要件がたまにありますね。 3割の確率でhogeを実行 3割の確率でmogeを実行 2割の確率でfooを実行 1割の確率でbarを実行 1割の確率でjarを実行 ファクトリーメソッドパターン的な実装ですね。 ごにょごにょするとこんな感じの実装に my $rand = rand(); my $method; if($rand < 0.3){ $method = 'hoge';#3割 }elsif($rand >= 0.3 && $rand < 0.6){ $method = 'moge';#3割 }elsif($rand
自己紹介 twitter @xaicron works :DeNA CPAN https://metacpan.org/author/XAICRON 免責 本日発表する内容は、個人的な考えや意見であり、 所属する組織、会社とは一切関係ありません。 免責 本日発表する内容は、個人的な考えや意見であり、 所属する組織、会社とは一切関係ありません。 また、スピリチュアルトークはできません。 というわけで 今日は、最近使ってるモジュールの話とかを中心にまったりやっていこうと思います。 いきなり本題に入る前に 自分がどんなふうに使うモジュールを選んでいるのか CPAN モジュールの選定基準 2008年ごろ書かれたいい記事があります。 CPANソムリエになる方法 ざっくりまとめると 最終更新日時がふるいモジュールは危険 テストが超絶少ないモジュールは危険 バグレポート溜まってるモジュールは危険 って感
某技術を評論する出版社で執筆する各位にとって非常に重要なツール、 markdown2inao.pl のインストール方法です。 markdown2inao.pl はパールと言う言語で書かれているので、一部のルビーストやジャヴァスクリプターなどの方はまともにPerlが使える状況になっていない場合も多く、戸惑うこともあるかもしれない。この手順が役に立てば何より、というか未来のぼくがなぞるために書いた。 markdown2inao.pl を落とす gistが存在するのでそれを使う。なんだか沢山forkがありどれを使うのか戸惑うが、直感で選ぶと良さそう。 mkdir ~/bin cd ~/bin # "raw" で生URLを拾う curl https://raw.github.com/gist/1883252/1236f76ab8b3dca55a35172deb175940933b4e40/mark
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Calendar::Japanese::Holiday Calendar::Japanese::Holidayは祝日の一覧取得、祝日判定、祝日名の取得ができるPerl モジュールです。 CPANにアップ済。 概要 このモジュールで以下のことを行えます。 指定年月の祝日一覧の取得 指定日の祝日判定 祝日判定で祝日だった場合は、祝日名を返すので祝日名の取得もできます。 使用例 use Calendar::Japanese::Holiday; # 祝日一覧の取得 $holidays = getHolidays(2008, 5); $holidays = getHolidays(2008, 5, 1); # 祝日かどうかの判定 $name = isHoliday(2007, 5, 5); 関数 getHolidays($year, $month [, $furikae]) 指定した年月($year
Perl5.10から実装済み 「~~」で表される 真か偽を返す 2つ被演算子(オペランド)をどのように比較するのか自ら判断する. 例 #スマートマッチ演算子 say "I found Fred in the name !" if $name ~~ /Fred/ #等価 print "I found Fred in the name !" if $name =~ /Fred/ 例 マッチタイプ %a ~~~ %b ハッシュのキーが全て等しい %a ~~ @b 少なくとも%aのキーの1つが@bに含まれている %a ~~ /Fred/ 少なくとも%aのキーの1つがパターンにマッチする @a ~~ @b 配列の内容が等しい @a ~~ /Fred/ 少なくとも1つの要素がパターンにマッチする @a ~~ 123 少なくともひとつの要素が123である @a ~~ 'fred' 少なくともひとつの要素
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
色々あってperlの環境を自分の手元で作る事にした。 perlbrew + cpanmの環境作ればいい事まではわかっていたけれど、進化・変化も激しいようなので現時点で一番簡単+きれいな方法(っぽいと感じたもの)を調べてやってみたのでメモ。 あと、local::libはperlbrew使ってるなら同じような効果が得られるから必要ない、らしいのでスルーした。 会社で聞けば早いって?まぁいいじゃないか。 基本方針としては、できるだけ環境やperlバージョンとの依存をシンプルにし、編集作業を極力少なく済ませるようにする。 perlbrew -> cpanm -> 各種ライブラリ という順で入れていく perlbrewのインストール Perlbrew こちらに従ってインストールする。 環境のcpanには頼らず、curlでインストールする方法をとる。 % curl -L http://xrl.us/p
LWP::UserAgentでBASIC認証つきでリクエストする - bits and bytes という記事で、LWP::UserAgentを用いて基本認証が必要なページにアクセスする方法について述べられているのですが、以下の点について不思議に思っていました。(その時のブックマーク) なぜ前振りで(直接関係なさそうな) HTTP::Request と HTTP::Request::Common の違いについて触れていたのか。 どうして前もってrealm値が必要となる $ua->credentials 方式を採ったのか。 が、後日記事を読み直したところ補足で以下のように追記されていました。 ご指摘いただいた通りrealmなんて普段作る側としても意識していないしめんどくさいだけなので、自分も本当は $req->authorization_basic したかったのですが、はじめに白状したとおり
Perl › Mojolicious 今回は静的ファイルを利用したWebアプリケーションを作成してみましょう。静的ファイルはスクリプトのあるディレクトリのpublicというディレクトリに配置します。cssというディテクトリを作成して、その中にcommon.cssというファイルを配置します。 # ディレクトリ構成 app.cgi public/css/common.css 以下がCSSを読み込んだスクリプトです。見出しの部分が赤くなっているのが確認できると思います。 stylesheet関数を利用して、CSSを読み込んでいます。 #!/usr/bin/perl # Mojoliciousを読み込むためのライブラリのパスの設定 use FindBin; use lib "$FindBin::Bin/lib"; # Mojolicious::Liteの利用 use Mojolicious::Li
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く