タグ

perlとぷろぐらみんぐに関するsugyanのブックマーク (4)

  • Perlにおける定数宣言(constant or Readonly or Attribute::Constant) - Unknown::Programming

    正直言いますと、個人的には定数って殆ど使わないんですよね。 昔はちょこちょこ使ってたんですが、最近は定数となりうる物は基的にYAML等外部ファイルに持たせて変更可能にすることが多いのでまったく使ってません。 ですがそれでもPerlで定数を使いたい時にはどーすんの?っていう時のために軽くここにまとめておきます。 言わずもかなPerl5.8にはconstantという定数を定義できる標準モジュールがあります。 use strict; use constant PI => 3.14; # 表示 print PI; # 3.14 # 上書きしようとすると・・・ PI = 3; # Can't modify constant item in scalar assignment とこのように上書きしようとするとエラーを吐いて死にます。 しかも実行時ではなく、コンパイル時にエラーを吐きます。 実はこのc

    Perlにおける定数宣言(constant or Readonly or Attribute::Constant) - Unknown::Programming
  • Perl で学ぶ x86 アセンブラ入門 (Shibuya.pm#11発表資料) | TAKESAKO @ Yet another Cybozu Labs

    前々回のShibuya.pmテクニカルトーク(XS Nite)では、PerlのC言語拡張モジュールを作成する方法について詳しく解説しましたが、ちょっとしたことを実現するだけでも、PerlVMの構造を理解し、大量のCのマクロを使いこなす必要がありました。やっぱりXSは面倒だよね、ということで、複雑なC言語のレイヤーを飛び越えて一気にPerlからマシン語の世界に飛び込んだらどうなるか?ということをテーマに今回の「no Perl; use x86;」というスローガンを掲げてみました。 ■ 発表資料: Perl で学ぶx86アセンブラ入門 4/22に開催したShibuya Perl Mongers テクニカルトーク #11「no Perl; use x86;」での私の発表資料を公開します。 ■ Perlの正規表現で書く x86 JIT Compiler #!/usr/bin/perl use Dy

  • bingo_nakanishiの他言語出身者のためのPerl入門

    YAPCが始まりましたね。 去年は参加したのですが(聴衆の方ですが)、今年は非常にとてつもなく残念な事に参加できません。 でも気分だけでもひたりたいのでPerlのお話を少々。 Rubyに備わったブロックという概念 Rubyは言語自体に高階関数をブロックという形でもっており、 eachなどで使われているのは有名です。 例: array = [1,3,5,9] array.each{|i| puts i} eachに与えている { }の部分がブロックです。 自前でブロックを受け取る関数を作りたければ yield を使えばよいでしょう。 今回のお話の内容は「Perlでもブロックを渡せる」ということなので、 eachの機能, yieldの機能は知っておられるという前提で先にすすみたいと思います。 Perlのブロックを使った例 それではRubyの話はこれくらいにしてPerlの話にまいりましょう。 ま

    bingo_nakanishiの他言語出身者のためのPerl入門
  • 酔っぱらった勢いでコードを書く際に大切なこと

    プライベートでコードを書く時は、たいていビールを飲みながらってな毎日のkentaro a.k.a. id:antipopです。こんにちは。 そんなわけで、ただでさえtypoが多いのに加えて、酔いにより手元はボロボロ。調子良く書いていても、つまらないtypoをいちいち修正してまわっていると、せっかくの気分のいい酔いも覚めてしまうというものです。そこで、コードを書く時には酒を飲まない、という以外の対策を考えてみました。 とにかく全部ぶっつぶす ひとはどうしたところで間違いを犯すものです。酔っぱらっていても酔っぱらってなくても、それは同じ。ならば、あり得る名前をあらかじめ定義してはどうか、と考えました。 たとえば以下のようなクラスを定義したとします。 package Hoge::Fuga::Piyo; use strict; use warnings; # ... (snip) ... 1; こ

  • 1