perlに関するpekepekesamuraiのブックマーク (10)

  • XSでメモリークを避けるたった一つの方法 - Islands in the byte stream (legacy)

    XSでメモリリークを避ける基原則は、それほど難しくない。すなわち、作ったSV(およびSVファミリ)はすぐsv_2mortal()するのである。mortalなSVはスコープ*1から抜けるときに解放されるため、メモリリークは起こらない。つまり、あるスコープ内で新しく作ったすべてのSVをmortalな状態にしておくということだ。 この原則のもとでコードを書くと、誤ってリファレンスカウントを増やさなかったケースでは警告が頻繁に起きる。しかし、少なくともメモリリークは起こらない*2。メモリリークの検出は難しいので、警告が出るのは福音であろう。 もちろんこれは原則で、メモリリークにまつわることで覚えなければならないことは決して少なくない。 たとえば、XSUBの戻り値をSV*にするとき、sv_2mortal(RETVAL)してはいけない。これはPerlの仕様ではなくxsubppが勝手にsv_2mort

    XSでメモリークを避けるたった一つの方法 - Islands in the byte stream (legacy)
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    pekepekesamurai
    pekepekesamurai 2009/11/24
    忘れたときにいいね
  • Perl6がリリースされてもPerl5は衰退していかないということを伝えたい - Perl入門ゼミ

    Perl › 読み物 Perl6について皆さんはどんな考えを持っていますか? 「もうすぐPerl6がリリースされる」「Perl5はだんだんと衰退していってをPerl6に移行してゆく」「Perl5の次世代で機能が豊富でPerl5の悪い部分は取り除かれて使いやすくなっている」「Perl5のような汚いコードではなくてきれいなコードが書ける」 もしこのような考えを持っているとしたらこれは大きな誤解です。当初の理念としてはこれが正しいのかも知れませんが、Perl6の現在おかれている状況はこれとはまったく異なります。 Perl5の現在 Perl5はPerl4の純粋な後継でほぼ互換性があります。普通に書かれたPerl4のコードについてはわずかな修正を加えるだけでPerl5で実行することができます。 よく言われるPerlの汚いコードというのは「Perl4で書かれたコード」のことです。Perl5ではソースコ

    Perl6がリリースされてもPerl5は衰退していかないということを伝えたい - Perl入門ゼミ
    pekepekesamurai
    pekepekesamurai 2009/11/23
    まぁ、Perl5と6の共存はなんとなくわかってた。
  • Tatsumaki is now on CPAN

    bulknews.typepad.com Tatsuhiko Miyagawa's blog to discuss mostly tech and nerdy stuff. Tatsuhiko Miyagawa / Tatsumaki-0.1000 - search.cpan.org Tatsumaki, my tiny Perl port of Tornado using Plack and AnyEvent originally started as a proof of concept to test and demonstrate PSGI's streaming interface but its chat app using a simple long-poll Comet got a lot of attentions from people: Audrey Tang use

    pekepekesamurai
    pekepekesamurai 2009/11/11
    perl版Tornado。PSGI+AnyEvent。
  • 今日のCPANモジュール(跡地) 目次

    Redirecting… Click here if you are not redirected.

    pekepekesamurai
    pekepekesamurai 2009/11/09
    わかりやすい。どっかで使おう。
  • 現代的なPerlの記述方法一覧 - Perl入門ゼミ

    Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々当に面倒なことになります。 use strict;とuse wa

    現代的なPerlの記述方法一覧 - Perl入門ゼミ
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    pekepekesamurai
    pekepekesamurai 2009/06/24
    おおおお!!!
  • Big Sky :: WindowsのPerl(mingw32)でもCoroを動かすパッチ。

    VCだとビルド出来るらしいけど、strawberry perlとかだとコンパイル出来ない。 まずCoro側のpatch。 diff -ur Coro-5.132.orig/Coro/libcoro/coro.c Coro-5.132/Coro/libcoro/coro.c --- Coro-5.132.orig/Coro/libcoro/coro.c 2008-11-19 11:50:13.000000000 +0900 +++ Coro-5.132/Coro/libcoro/coro.c  2009-06-19 15:01:16.140625000 +0900 @@ -228,6 +228,9 @@ #if __CYGWIN__ ctx->env[7] = (long)((char *)sptr + ssize) - sizeof (long); ctx->env[8] = (long)

    Big Sky :: WindowsのPerl(mingw32)でもCoroを動かすパッチ。
    pekepekesamurai
    pekepekesamurai 2009/06/23
    あ、Cygwinならフツーに cpan でいけるぽい
  • 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
    pekepekesamurai
    pekepekesamurai 2009/06/15
    constantをフツーに使ってた。関数だったのか、、、
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    pekepekesamurai
    pekepekesamurai 2009/03/31
    最適化の前にPerlをちゃんと学ばなきゃかな。--;;; これ読んだ後にふと思ったけど、my で参照の実体をつっこむとパフォーマンス的にどうなんだろう?
  • 1