KB)今回は、MySQLを使ってAtomフィードのデータベースを作成します。フィードをデータベースに取り込むことで管理・再利用が容易になります。5.8を使ってAtomフィードのリーダーを作成し、第2回では、一定の書式を持つWeb日記からAtomフィードを生成・配信するスクリプトを書きました。前回は、jperlを使って、WindowsのShift_JIS文字コード環境のエディタ上で、Web日記の日記記述言語(DDL)からWeb日記を生成・配信するスクリプトを作りました。Atomリーダーの作成とWeb日記のAtomフィード化によって、次のことができるようになりました。HTML日記記事本体の内容をAtomフィードにすべて格納する。格納したものをHTMLに変換して取り出す。AtomフィードのようなXMLは共通の約束事に従って書かれたテキストなので、一度Atomの形式に変換すると、「特定のサイトのAtomフィードと他のサイトのAtomフィードを混在させて取り扱いたい」というようなニーズに応えることができます。関心のあるサイトの過去記事をAtomデータ構造で継続的に保存し、必要に応じて取り出すことができるデータベースを作成できると、多いに役立つのではないでしょうか。データベースの高機能化にも役立つと考えています。そこで本稿第4回は、よく知られているMySQLを使って、Atomフィードのデータベース(atomfeeds)を作成します。手順としては、まずMySQLを導入して、Atomフィードを格納するためのRDBを作成します。次にAtomフィードを読み込み、内容をRDBに格納します。最後にRDBからデータを読み出して、HTML形式で出力します。PerlでAtomフィードを読んだり書いたりできるわけですが、さらにそれをDBIとDBD::mysqlというモジュールを使って、MySQLと連携させます。SQLやMySQLについてはWikipediaによいまとめがあるので参照してください。独自の日記記述言語からHTML形式のWeb日記を出力・配信するMySQLの導入MySQLの日本語情報については、日本MySQLユーザー会のサイトがまず上げられます。「MySQLの書籍」についてのページもあるので、参考にされるとよいでしょう。databaseがMySQLのホームページで最新の情報やドキュメントの入手、配布ファイルのダウンロードが行えます。Downloadsから、mysql-5.0.27-win32.zip(2007年2月13日現在の最新バージョン)をダウンロードします。Lhaca+等で解凍します。解凍されたSetup.exeを実行してインストールします。著者の場合、以下のように設定しています。Multilingualismを選択して、UTF-8とする。「password」とする。Wizardで、後から変更も可能です。5.0\my.ini」に書き込まれています。DBIとDBD-mysqlの導入Perlでデータベースを使うためには、DBIというデータベースインターフェイスの機能を持つモジュールとDBIと、連携して動作するデータベース別のドライバが必要です。DBIはデータベースを抽象化したデータベース非依存のモジュールで、DBDxというドライバが、各種データベースに依存した部分を取り扱うモジュールです。本稿の執筆では、DBIはバージョン1.53、MySQL用のドライバDBD::mysqlは3.0008を使用していますが、モジュールのバージョンにそれほどこだわる必要はないでしょう。読者の環境がどのようなっているか、コマンドラインで次のように試してみましょう。著者の環境の出力も合わせて載せておきます。819であれば、DBIは標準でインストールされていて、バージョンは1.52です。DBD::mysqlは標準ではインストールされないので、PPM(注1)を使ってインストールしておきましょう。執筆時では、バージョン3.0002がインストールされました。Manager)はPPM4でGUIを使うことができます。環境変数のUSERPROFILE(あるいはUSERNAME)がUTF-8以外の文字、SJIS文字などを含むと動作しないので、日本語Windowsでユーザー名にShift_JIS日本語を使用している場合に困ります。この問題は、ACTIVEPERL_PPM_HOMEという環境変数に、asciiコードだけのディレクトリ(例えば、「C:\Perl5.8\bin\ppm_home」など)を設定すれば回避できます。SERVEのFGALEL(エントリーラボ)、FGALTS(テキスト&amp;スクリプト)に参画し、FGALTSでシスオペを務める。現在、TSNETメンバー。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。