タグ

perlとPerlに関するSpring_MTのブックマーク (31)

  • perlで快適REPL生活! : sonots:blog

    perlで快適REPL生活! : sonots:blog
  • plenvを使ってみた. - Masteries

    2013-01-21 plenvを使ってみた. @tokuhiromさんがplenvという, Perl 5のインストール管理ツールを開発されたそうです. ブログ記事やREADMEをまとめてみると, plenvの特徴は... Rubyのrbenvから影響を受けている. perlbrewと違って, プロダクトごとにperlのバージョンを指定することができる. とても高速で, インストールも簡単. perlbrewのような機能を持つが, 完全な上位互換ではない. ...という感じっぽい. こういう時はグダグダ言わずに入れて試してみるに限る, というわけでさっそく導入してみましょうー! インストール plenvを導入する為にはCPAN/brew/gitを使う方法がありますが, 今回はgitを使って入れてみます. ただ特徴にも書いてあるとおり, どの方法を使うにせよインストールはとても簡単です

  • にひりずむ::しんぷる - Minila 化でハマったときに解決する 108 つの方法

    実際は 3つぐらいしかないです。 Cinnamon の Minilla 化で @shiba_yu36 先生がハマっていたのでここに記す。 ちなむと、Minilla の現在の HEAD (cb3fc97d4e) で試しているのであり、今後は修正される可能性が大いにあります。 migrate 編 0. とりあえずブランチ切りましょう いつでもあの頃に戻りたい。みんなそう思っている。 # Minilla 化される直前の commit からブランチを作成 $ git checkout -b minilize 0bf8634 あとは、何かあったら以下のコマンドで元通りです。 $ git reset && git checkout . && git clean -df 1. ディレクトリ名とモジュール名が一致していない git repository では全部小文字なんだけど実際のモジュールは大文字だっ

  • CinnamonをMinilla管理にした - $shibayu36->blog;

    Minillaが流行っていたので、僕もCinnamonをMinillaに対応させてみました。 とりあえず $ cpanm Minilla 次にCinnamonのdirectoryにいって、migrate。 $ cd cinnamon $ minil migrate Cannot retrieve 'abstract' from /Users/shibayu36/development/myprojects/perl/cinnamon なんか怒られた。これはDist名とDirectory名が違っているため、migrateができなくなっていた。 directory名を変えてやってみる。 $ cd .. $ mv cinnamon Cinnamon $ cd Cinnamon $ minil migrate とりあえずこれでmigrateは出来た。続いてFAKE_RELEASEしてみる $ FA

    CinnamonをMinilla管理にした - $shibayu36->blog;
  • Don't use base.pm, use parent.pm instead! - Islands in the byte stream (legacy)

    「使っちゃいけない標準モジュール」*1の反響を見ていると、baseが非奨励ということに驚かれた方が少なくありませんでした。そこで、baseについて補足します。 まずbase.pmのドキュメントの最初の文は以下のようになっています。 Unless you are using the fields pragma, consider this module discouraged in favor of the lighter-weight parent. (拙訳: fieldsプラグマを使用しているのでないかぎり、このモジュールは勧められない。かわりに軽量なparent.pmを使う方がよい。) fieldsプラグマは、ハッシュリファレンスのキーを固定したオブジェクトを作成するための機能ですが、あまり一般的ではないためここでは解説しません。特に理由がない限り、ここは素直に忠告に従った方がいいでし

    Don't use base.pm, use parent.pm instead! - Islands in the byte stream (legacy)
  • Class::Inspector - Tociyuki::Diary

    Catalyst 5.7001 を見ていたら Class::Inspector が使われていました。Catalyst の 5.70_01 から使われるようになったようです。 パッケージ・ファイルを求めたり、パッケージで定義されたサブルーチン名やそのコード・リファレンスを求めることができるようです。さらに、@パッケージ::ISA で継承したメソッドを含め、メソッド名・定義クラス・コードリファレンスを求めることもできるようです。サブクラスの一覧を探す機能もありますね。 ⇒ http://search.cpan.org/~adamk/Class-Inspector-1.16/ POD の説明を読むと、クラスメソッドでパッケージの情報を取得できるようになっています。UNIVERSAL::can や @INC、%INC 辿りや、シンボルテーブル参照をスマートにカプセル化してあり便利そうです。以下、P

    Class::Inspector - Tociyuki::Diary
  • はてなブログ | 無料ブログを作成しよう

    思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。

    はてなブログ | 無料ブログを作成しよう
  • マルチバイと文字列の文字列操作のお話

    "abc"という文字列が何文字か調べてみましょう。 use strict; use warnings; use feature 'say'; my $str = "abc"; say $str. "は、". length($str). "文字です"; 実行結果: abcは、3文字です 問題ありませんね。 では、"あいうえお"が何文字か調べてみましょう。 use strict; use warnings; use feature 'say'; my $str = "abc"; say $str. "は、". length($str). "文字です"; 実行結果: あいうえおは、15文字です はい、15文字ですn… えぇぇぇぇぇ。それ困ります。 このようにマルチバイト文字列の場合見た目の文字数通りカウントできないため 文字列操作で文字数を絡める場合問題となります。 そのため、見た目の文字数と一

    マルチバイと文字列の文字列操作のお話
  • perlunitut - Perl における Unicode のチュートリアル - perldoc.jp

    The days of just flinging strings around are over. It's well established that modern programs need to be capable of communicating funny accented letters, and things like euro symbols. This means that programmers need new habits. It's easy to program Unicode capable software, but it does require discipline to do it right. 文字列を単に放り出す日々は終わりました。 最近のプログラムでは変わったアクセントのついた文字や、ユーロのマークの ようなものを通信出来る必要があることが確

  • Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found

    2012年01月17日11:45 カテゴリアルゴリズム百選Tips Algorithm - 連想配列の実装としてのハッシュはオワコン? 珠玉のプログラミング Jon Bentley / 小林健一郎訳 つまり「終わったコンテナ」。 以前からうすぼんやりと考えて来た危惧が、すこしはっきりと見えてきた。 徳丸浩の日記: Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策 もうそろそろハッシュ(テーブル)以外の手段の連想配列の実装手段を格的に模索するべきではないか、と。 そのデータ構造は、君の魂を差し出すに足るものかい? 連想配列(Associative array)がコレクション(Collection)、すなわち数多のデータ構造をまとめるデータ構造としての覇者となったのはもはや疑いようがない事実でしょう「配列で実装されるデータ構造ではなくて、配列を実装するデータ構

    Algorithm - 連想配列の実装としてのハッシュはオワコン? : 404 Blog Not Found
  • サービスごとに異なるパスワードを使い分ける方法 - kazuhoのメモ置き場

    最近、パスワードの使い回しをしているユーザーに対する攻撃が出回るようになってきています (参照: パスワード攻撃に対抗するWebサイト側セキュリティ強化策 | 徳丸浩の日記) が、マスタパスワードからサービスごとに異なるパスワードを自動生成するのが簡単な対策ですよね。 プログラマなら(もしくはコマンドライン操作に慣れているのなら)、こんな感じでできるかなーと思います。 $ perl -MDigest::HMAC_SHA1 -wle 'print Digest::HMAC_SHA1->new($ARGV[0])->add($ARGV[1])->b64digest' "my-master-password" example.com Mau83v+ml6dRViOZhcRdHM0NXzY $HMAC 関数にマスターパスワードとサービスのドメイン名をわせて、その出力をサービス専用のパスワードにす

    サービスごとに異なるパスワードを使い分ける方法 - kazuhoのメモ置き場