Perl入門ゼミPerl入門ゼミテキスト処理、Linuxサーバー管理、Web開発ならPerl質問フォームPerl›XS›hereXSでC言語の構造体をPerlのオブジェクトとして扱う方法XSでは、構造体自体をPerlのオブジェクトとして扱うこともできます。C言語の構造体をPerlのオブジェクトとして扱う方法を解説します。最初にh2xsでXS用のモジュールを作成します。SomeModuleこうすると「SomeModule」というディレクトリが作成されます。次のようなファイルとディレクトリが作成されます。Changeslib/Makefile.PLMANIFESTppport.hREADMESomeModule.xst/XSファイルの記述XSファイルを記述しましょう。構造体のポインタをPTR2INTでsize_t型に変換しています。size_t型をSV*型に変換し、SV*型をSV*型へのリファレンスに変換し、最後にblessして、オブジェクトに変換しています。size_t型というのは整数型ですが、アドレスの値はsize_t型で受け取るようにします。取り出すときは、デリファレンスを行い、SV*に含まれるIVの値を取り出し、INT2PTRで構造体へのポインタに変換しています。SomeModulePointモジュールの作成Point.pmというファイルをlib以下においてください。SomeModuleを読み込んでいるのは、SomeModuleにバインディングの記述があるためにです。SomeModule;1;テストスクリプトテストスクリプトを作成します。これは、XSファイルがあるディレクトリと同じディレクトリにおいてください。"\n";コンパイルして実行コンパイルして実行してみましょう。test.pl次のように出力されれば成功です。業務に役立つPerlログ解析など日本語を含むテキスト処理の実践!案内YouTubeでもっと簡単にプログラミングを学ぶならPerlゼミちゃんねるLinuxコマンドを学ぶならLinuxサーバー管理入門Webデザインを学ぶならWebデザイン入門Web開発を始めるななMojoliciousスタートアップブログを作るならGiblogプログラミングの勉強会ならPerl入学式お問合せはこちらPerlは、テキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。Linuxサーバー管理でのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意。Mojoliciousを使ったWebスタートアップも。Perlは、gitやopensslなどUnix/Linuxミドルウェアの支援ツールとして採用されています。このサイトはGiblogで製作されています。