<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>なんでもやりたい: perl</title>
	<link rel="alternate" type="text/html" href="http://deko.junka.net/perl/" />
	<link rel="self" type="application/atom+xml" href="http://deko.junka.net/perl/atom.xml" />
    <id>tag:deko.junka.net,2008-11-26://5</id>
    <updated>2008-11-26T15:04:00Z</updated>
    <subtitle>order.push(&quot;deko&quot;);</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.21-ja</generator>

<entry>
    <title>白米こんぶサポートシステム</title>
    <link rel="alternate" type="text/html" href="http://deko.junka.net/2008/10/post-3.html" />
    <id>tag:deko.junka.net,2008://5.976</id>

    <published>2008-10-13T09:05:48Z</published>
    <updated>2008-11-26T15:04:00Z</updated>

    <summary>Flash-ActionScriptの技術ブログのつもりで始めた当ブログですが、...</summary>
    <author>
        <name>順加</name>
        <uri>http://www.junka.net/</uri>
    </author>
    
        <category term="perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="白米こんぶさん" label="白米こんぶさん" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://deko.junka.net/">
        <![CDATA[<p>Flash-ActionScriptの技術ブログのつもりで始めた当ブログですが、いきなりperlの話題からスタートです。</p>

<p>現在開発中であり、ワンクリックアワードに出品予定の<a href="http://www.junka.net/ver/1click_2008/hakumaiKonbu.html">白米こんぶさん</a>。<br />
未だβ版なのですが、β版たる最大の要因は読み込みxmlにあります。</p>

<p>レシピを<a href="http://cookpad.com/" target="_blank">cookpad.com</a>から拾っているのですが、これを拾う為に<a href="http://pipes.yahoo.com/pipes/" target="_blank">yahoo Pipes</a>を利用しています。</p>

<p>が、</p>

<p>そもそもcookpad.comは人気サイトで、みんなが献立を考える時間帯になると激重になってしまい、データが拾えなくなる場合があることがわかりました。</p>

<p>そこで、重くならない時間帯にxmlを保存して、別ファイルとして自分のサーバに置いておく（白米こんぶさんはそれを読み込む）という対策をとりました。</p>

<p>でも手動でxml保存するの、大変だべ？</p>

<p>というわけでcgiを使って、その作業を半自動化することにしました。</p>

<p><a href="http://x68000.q-e-d.net/~68user/net/" target="_blank">こちら</a>のサンプルスクリプト（HTTPクライアント）を利用させていただきました。</p>

<p>改造ポイントはクエリによって読み書きファイルを制御する部分。</p>

<blockquote><pre>if ($ENV{'QUERY_STRING'}) {
	#クエリを解析して読み書きファイルを確定
	my @list = split(/=/,$ENV{'QUERY_STRING'});
	$acs_category = eval "\$acs_$list[1]";
	$logfile = eval "\$logfile_$list[1]";
	#実行
	&request;
}</pre></blockquote>

<p>順加はeval関数を覚えた！</p>

<p>あとは読み込んだページ情報を表示せずに外部ログに書き込む処理を施せば完成。</p>

<p>思ったより簡単でした。これでいつでもxmlファイルを更新できます。</p>]]>
        
    </content>
</entry>

</feed>
