タグ

Perlに関するkey_ambのブックマーク (21)

  • Perlからshared objectの関数を呼び出す - limitusus’s diary

    今回のお題 foo.so に含まれている関数 void func(void) をPerlから呼び出す。 プロトタイプ宣言の通り、引数は取らないし戻り値もない(あるいは見ない)。 やりかたはいくつかあって、 普通ならXSモジュールを書いて対応する。 ただこのシンプルな目的のためにXSモジュールを書くのはいささか大袈裟すぎる。 もう少し簡単にやろうと思うと Inline::C を利用する。 これでも別に構わなかったのだけど、今回はこのPerlスクリプトをほぼ同時に並列起動する可能性があり、コンパイルが多重に走るのを避けたい。 ということで、ちょっと珍しいアプローチとしてXSモジュールのベースに使われているDynaLoaderモジュールを直接使ってみることにした。 DynaLoaderとは? Perlで昔からあるコアモジュールで、*.soファイルをロードし、その中のシンボルをモジュール名前空間に

    Perlからshared objectの関数を呼び出す - limitusus’s diary
  • #10 Rowクラスの拡張方法 - Articles Advent Calendar 2011 Teng

    Tengでdatabaseからデータを取得すると、基的には各レコードはTeng::Rowのオブジェクトになって返されます。 my $row = $teng->single('user', +{id => 1}); この時点の$rowはProj::DB::Row::Userというクラスでインスタンス化されています。 しかし今までの説明でProj::DB::Row::Userを定義したことはありませんでした。 Tengではtableに対応するRowクラスを自動的に生成し、利用します。 例えばこのProj::DB::Row::Userというクラスにメソッドを追加したいとします。 その場合は単純に自分でそのクラスを定義するだけです。 package Proj::DB::Row::User; use strict; use warnings; use parent 'Teng::Row'; sub

    #10 Rowクラスの拡張方法 - Articles Advent Calendar 2011 Teng
    key_amb
    key_amb 2015/05/31
    の Row クラスの拡張ができなくて、この記事末尾の Disqus に書いてみた。GitHub に Issue 送った方がいいか? / "#10 Rowクラスの拡張方法 - Perl Advent ..."
  • [perl]DateTimeのtimezoneについてのメモ - $shibayu36->blog;

    DateTimeでtimezoneの設定をしたりしたときに、うまく整理できなくてはまったのでメモ。 今回はDateTimeでset_timezoneを利用したときにどのような仕様で時間をずらすのかという部分とDateTime::Format::MySQLの仕様を理解できていなかったために、MySQLからデータを取ってきたときにはまってしまった。 仕様(?) DateTimeオブジェクトはtimezoneを設定したときに以下の規則で時間をずらしている。 DateTimeのtimezoneがfloatingの時にtimezoneをセットしても、時間は変換されない。つまりその時のfloatingにおける時間を設定したtimezoneの時間とみなす。 DateTimeのtimezoneがfloating以外の時にtimezoneをセットすると、時間はそれらの差分の分変化する。例えばtimezone

    [perl]DateTimeのtimezoneについてのメモ - $shibayu36->blog;
    key_amb
    key_amb 2015/05/24
  • Perl 5.22 and You - YAPC::Asia Tokyo 2015

    Perl 5.22 is here, and it's got new stuff. What kind of new stuff? Cool new stuff. You can read the fifty page perl5220delta document, or you can come listen to the Perl 5 project manager summarize the stuff you actually care about. We'll also review some of the major changes from 5.20 and just a little bit about what may be coming next year.

    key_amb
    key_amb 2015/05/15
    聞きたい
  • ppencode 2 - 任意の Perl コードを予約語だけの Perl コードに変換する - 兼雑記

    @TAKESAKO さんが ppencode を作ってから 10 年経って、私が任意の Perl コードを小文字だけに変換するスクリプトを書いてからでも5年経つらしいですが、なんか任意の Perl コードを予約語だけの Perl コードに変換するスクリプトができました。 http://shinh.skr.jp/obf/ppencode.html オリジナルの ppencode に敬意を表していろいろ雰囲気を似せておきました。割と色んな予約語が使われるようにしてみたりとか。 これは Perl が予約語だけあれば Turing complete ということなので、副産物として Quine もできました。 http://golf.shinh.org/reveal.rb?Quine/shinh+%28keywords%29_1431106882&pl なんというか、 ppencode があれば後は

    ppencode 2 - 任意の Perl コードを予約語だけの Perl コードに変換する - 兼雑記
    key_amb
    key_amb 2015/05/09
  • ■ - 兼雑記

    s XXchr length q YThisPerlCodeConvertsAnyPerlCodeIntY Xe xor s XXchr length q YThisPerlCodeConvertsAnyPerlCodeIntoAlphabetOnlyPerlCodeThisPerlCodeCon vertsAnyPerlCodeIntoAlphabetOnlyPerlCY Xe xor s XXchr length q YThisPerlC odeConvertsAnyPerlCodeIntoAlphabetOnlyPerlCodeThisPerlCodeConvertsAnyPerl CodeIntoAlphaY Xe xor s XXchr length q YThisPerlCodeConvertsAnyPerlCodeIn toAlphabetOnlyPerlCodeThisPe

    ■ - 兼雑記
    key_amb
    key_amb 2015/05/09
  • memorandum — #Perl にも #RDoc みたいなのほしい

    POD まあ慣れたけど、RDoc よりもドキュメントとソースコードの乖離が起こりやすいなと昔から思っていて、今もそう思っている。 なぜなら、ソースコードとPOD部分の関係が疎だから。 RDoc とか YARD みたいにそもそもコードの package 宣言や sub 宣言を解釈してドキュメントにしてくれた方が漏れがないし、RDoc 等の拡張構文を使えたら便利だと思う。 POD はリストの書き方など面倒。 …で、そういうのないかなと思って見てたら、YARD 自体にプラグインがあって、Perl コードも解析してちょうどやりたいと考えていることができそうなことはわかった。 https://github.com/pvande/yard-perl-plugin でもベータらしい。 RDoc には POD を解析できるやつはあるみたいだった。 CPAN にはそういうのはなさそうだった。 違う名前で

    memorandum — #Perl にも #RDoc みたいなのほしい
  • 第2回 Test::Baseの紹介 | gihyo.jp

    モバイルファクトリーの伏原です。 私は今回Test::Baseというモジュールを紹介させてもらいます。 Test::Baseとは Test::Baseは、Kwikiなどの作者として知られるIngy döt Net氏が作成した“⁠Data Driven Testing Framework(データ駆動型テストフレームワーク)⁠”です。 データ駆動型テストとは何なのか、実際のテストを見て頂くのが一番早いと思うので、早速実際にTest::Baseを使ったテストを書いてみることにします。 今回使うサンプルプログラム NabeAtzz問題を解くプログラムを作ります。NabeAtzz問題にはいくつかのバリエーションがありますが、今回は以下の条件を満たすもの、と言うことにします。 1からnまでの整数に対して 3の倍数の時は“⁠fool⁠”と出力する 5の倍数の時は“⁠dog⁠”と出力する いずれかの桁に3

    第2回 Test::Baseの紹介 | gihyo.jp
    key_amb
    key_amb 2015/04/17
    Test::Base 使ったことなかったけど、色んなデータ用意してテスト書くときにすっきり書けそう。この記事がわかりやすかった。/ 第2回 Test::Baseの紹介:Happy Testing Perl :
  • Daiku-1.004 - Make for Perl - metacpan.org

    The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

    key_amb
    key_amb 2015/03/11
    実は昨日Qiitaに書くまでDaikuのこと全く知らなかった。まだ情報少なそうなので、使い方まとめてまたポストしようかなと思っている。 #Perl #PerlDaiku /
  • Perlプロジェクトのドキュメントをmakeで一括生成 - Qiita

    はじめに Perl プロジェクトのソースコードに記された POD から、GNU make を使ってドキュメントを一括生成する方法を紹介します。 比較的シンプルな Makefile で実現できました。 プロジェクト構成例 プロジェクトの構成が、以下のようになっているとします。 . ├── bin │ ├── bar.pl │ └── foo.pl └── lib ├── Foo │ └── Bar.pm └── Foo.pm ドキュメント生成要件 ドキュメントは以下のルールで生成するとします。 doc/ ディレクトリ以下に、ソースコードのパスを元に1ファイルずつ生成する pod2html コマンドを使って HTML 形式で出力 Makefile Makefile をプロジェクトのルートディレクトリに配置します。 内容は以下のようにします。 .PHONY: html GENHTML = pod

    Perlプロジェクトのドキュメントをmakeで一括生成 - Qiita
    key_amb
    key_amb 2015/03/10
    Perlプロジェクトのドキュメントをmakeで一括生成 by @key_amb on @Qiita
  • The CPAN Search Site - search.cpan.org

    The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

    The CPAN Search Site - search.cpan.org
    key_amb
    key_amb 2014/03/26
  • Perl・CGI無料講座

    このサイトではCGI作成に関する技術的な情報を お届け致します。是非、ご利用ください。 当サイトからのお知らせはこちらをご覧ください

    key_amb
    key_amb 2014/03/26
  • Perl programming documentation

    #Perl 5.38.2 Documentation The perldoc program gives you access to all the documentation that comes with Perl. You can get more documentation, tutorials and community support online at https://www.perl.org/. If you're new to Perl, you should start by running perldoc perlintro, which is a general intro for beginners and provides some background to help you navigate the rest of Perl's extensive docu

    key_amb
    key_amb 2014/03/26
  • 404 Blog Not Found:perl - There's more than one way to die

    2008年05月10日15:00 カテゴリLightweight Languages perl - There's more than one way to die いよいよ来週はYAPC::Asia::2008ですが、Hotel DANは日から開業。我が家では日から20日までが「YAPC旬間」です。 というわけで、その間は少なくとも一つはperlがらみのentryにしていく所存です。 で、第一回はいきなりdieの話題です。 開発日誌 pp-perl: Perlのエラー処理プログラムを停止して、メッセージ(LIST)をSTRERRに出力します。 間違っていませんが正しいとは言えません。 die = throw die()とは何か? まずは、以下のコードをご覧下さい。 [Run via codepad] eval { my $zero = 0; my $dead = 1 / $zero;

    404 Blog Not Found:perl - There's more than one way to die
    key_amb
    key_amb 2014/03/26
  • Perl で作る CGI 講座 | futomi's CGI Café

    PerlCGI を作ったり、CGI を利用したりする上で知っておきたい情報を集めています。CGI 作成、利用の際にお役立て下さい。 Perl 用語集 Perl には他のプログラミング言語では登場しないような独自の用語が数多く存在します。 とりわけ Perl 初心者にとって Perl のドキュメントは難解に感じることでしょう。 ここでは、主に Perl らしい用語をピックアップして、その意味について解説します。 Perl 用語集 組み込み関数リファレンス Perl の組み込み関数について解説します。 情報の多くは Perldoc をベースにしていますが、日語訳ではなく、独自の視点で初心者でも分かりやすい解説として作り上げました。 また、できる限りサンプルコードを用意しました。 組み込み関数リファレンス Internal Server Error なんて怖くない! - CGI セッティ

    key_amb
    key_amb 2014/03/26
  • とほほのperl入門

    とほほのperl入門 トップ > とほほのperl入門 概要編 perlとは 特徴 perlのバージョン 入手方法 実行方法 引数指定 ファイル指定 自己完結型 標準入力読み込み型 基礎知識 簡単な実行例 これだけは覚えて 定数・変数・値 数値 文字列 エスケープシーケンス(\) スカラー変数($XXX) 配列(@XXX) 連想配列(%XXX) 変数名に使える文字 数値と文字列 真(true)と偽(false) 定義済みと未定義 省略時の変数($_) 環境変数($ENV{'XXX'}) コマンド引数($ARGV) シグナル($SIG{'XXX'}) その他の特殊変数($X) バイナリデータ 演算子 代入 算術演算子 ビット演算子 数値比較演算子 文字列比較演算子 条件演算子 マッチング 文字列連結 文字列置換 繰り返し演算子 範囲演算子 ファイル検査 制御構文 if elsif else文

    key_amb
    key_amb 2014/03/26
  • remora.cx

    This domain may be for sale!

    key_amb
    key_amb 2014/03/26
  • Home - Japanized Perl Resources Project

    プロジェクト概要 Japanized Perl Resources Project (略称: JPRP) は、Perlの日語リソースを収集するとともに、新たな文書を翻訳するプロジェクトです。 話し合いはperldocjp-jprpメーリングリストにて行われています。 参加するには? ...... perldocjp への参加の仕方について。 メーリングリスト ...... 各種メーリングリストについての説明。 翻訳の入手 ...... 翻訳の入手方法。CVSでの取得など。 イベント ...... 講演、オフラインミーティングなどの情報。 FAQ ...... perldoc.jpのFAQ集。 リンク ...... 関連リンク。 OSDN site ...... OSDN のプロジェクトページ。 翻訳へのリンク 体 (コアドキュメント) 関数 モジュール

    key_amb
    key_amb 2014/03/26
  • Perl&CGI最強講座 [smart]

    indexは、第1引数STRの先頭から第2引数SUBSTRが最初に見つかった位置を返します。 第3引数 POSITIONで検索する位置を指定することもできます。第3引数POSITIONには最初の文字を 0 として指定します。 返却値は 0、もしくは変数$[に設定した値です。SURSTRが見つからなかった場合は -1 を返します。 indexの使い方 $str = "How you always hurt the one you love."; print index($str,'you'); > 4

    Perl&CGI最強講座 [smart]
    key_amb
    key_amb 2014/03/26
  • Perl基礎入門 (Kent Web)

    このコーナは、初心者向けのPerl入門ページであり、また、自分自身の覚え書きという位置づけで作成していきます。 一人でも多くの方々が、Perlの素晴らしさを感じていただければ幸いです。

    key_amb
    key_amb 2014/03/26