<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Supernova &#187; swc</title>
	<atom:link href="http://blog.dealforest.net/category/swc/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dealforest.net</link>
	<description>be careful, be bravely</description>
	<lastBuildDate>Wed, 01 Sep 2010 15:18:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>compc で swc ファイルを作る際に外部ライブラリ(swc)と共にビルドする方法</title>
		<link>http://blog.dealforest.net/2008/12/compc-%e3%81%a7-swc-%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e4%bd%9c%e3%82%8b%e9%9a%9b%e3%81%ab%e5%a4%96%e9%83%a8%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aaswc%e3%81%a8%e5%85%b1%e3%81%ab/</link>
		<comments>http://blog.dealforest.net/2008/12/compc-%e3%81%a7-swc-%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e4%bd%9c%e3%82%8b%e9%9a%9b%e3%81%ab%e5%a4%96%e9%83%a8%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aaswc%e3%81%a8%e5%85%b1%e3%81%ab/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 16:11:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[swc]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[compc]]></category>

		<guid isPermaLink="false">http://blog.dealforest.net/?p=158</guid>
		<description><![CDATA[以前書いた perlをワンライナーで便利な使い方(compcを使う時に便利)を使って
 swc ファイルを作ろうとした矢先にswc ライブラリハマりましたよ。

で、swc にビルドしようとした時にひっかかりました。
外部 swc を読み込むには option をつければいきました。

1
compc compc -output &#91;作成されるファイル名&#93; -source-path &#91;sourceのある場所&#93; --include-classes &#91;すべてのクラスファイル&#93; -compiler.library-path &#91;swc のあるディレクトリ&#93;

とすれば外部の swc もまとめた状態で build してくれます。
組み込む swc のライセンスには気をつけてください
]]></description>
			<content:encoded><![CDATA[<p>以前書いた <strong><a href="http://blog.dealforest.net/2008/09/perl%E3%82%92%E3%83%AF%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%8A%E3%83%BC%E3%81%A7%E4%BE%BF%E5%88%A9%E3%81%AA%E4%BD%BF%E3%81%84%E6%96%B9compc%E3%82%92%E4%BD%BF%E3%81%86%E6%99%82%E3%81%AB%E4%BE%BF%E5%88%A9/">perlをワンライナーで便利な使い方(compcを使う時に便利)</a></strong>を使って<br />
 swc ファイルを作ろうとした矢先にswc ライブラリハマりましたよ。<br />
<br />
で、swc にビルドしようとした時にひっかかりました。<br />
外部 swc を読み込むには option をつければいきました。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">compc compc <span style="color: #660033;">-output</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>作成されるファイル名<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #660033;">-source-path</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">source</span>のある場所<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #660033;">--include-classes</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>すべてのクラスファイル<span style="color: #7a0874; font-weight: bold;">&#93;</span> -compiler.library-path <span style="color: #7a0874; font-weight: bold;">&#91;</span>swc のあるディレクトリ<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p>とすれば外部の swc もまとめた状態で build してくれます。<br />
組み込む swc のライセンスには気をつけてください</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dealforest.net/2008/12/compc-%e3%81%a7-swc-%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e4%bd%9c%e3%82%8b%e9%9a%9b%e3%81%ab%e5%a4%96%e9%83%a8%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aaswc%e3%81%a8%e5%85%b1%e3%81%ab/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>perlをワンライナーで便利な使い方(compcを使う時に便利)</title>
		<link>http://blog.dealforest.net/2008/09/perl%e3%82%92%e3%83%af%e3%83%b3%e3%83%a9%e3%82%a4%e3%83%8a%e3%83%bc%e3%81%a7%e4%be%bf%e5%88%a9%e3%81%aa%e4%bd%bf%e3%81%84%e6%96%b9compc%e3%82%92%e4%bd%bf%e3%81%86%e6%99%82%e3%81%ab%e4%be%bf%e5%88%a9/</link>
		<comments>http://blog.dealforest.net/2008/09/perl%e3%82%92%e3%83%af%e3%83%b3%e3%83%a9%e3%82%a4%e3%83%8a%e3%83%bc%e3%81%a7%e4%be%bf%e5%88%a9%e3%81%aa%e4%bd%bf%e3%81%84%e6%96%b9compc%e3%82%92%e4%bd%bf%e3%81%86%e6%99%82%e3%81%ab%e4%be%bf%e5%88%a9/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 12:19:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[swc]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blog.dealforest.net/?p=53</guid>
		<description><![CDATA[どうも。久しぶりにエントリー書きます。
今回は compc を使って swc ファイルの作成を行います。
その際になんと、、、、
Class ファイルをすべてコマンドラインから指定してやらないといけないみたいなのです。

1
compc compc -output &#91;作成されるファイル名&#93; -source-path &#91;sourceのある場所&#93; --include-classes &#91;すべてのクラスファイル&#93;

これを実行すると swc ファイルを自分で作成することができます。
ただ何が問題かっていうと、
&#8211;include-classes にすべてのクラスファイルを指定しないといけないんです。
org.libspark.asreflect.errors.ASReflectError　こんなフォーマットで。
これをファイルパスから取り出すのなんてめんどくさすぎる。
しかも / でなくて . 区切り。
というわけで、そこで perl の登場です。(※ここでは ASReflect を使用しています)
まず file だけを出力し、さらに .svn 以下のファイルを省きます。

1
find -type f &#124; grep -v svn

この結果、出力される形式がこんな感じ

./org/libspark/asreflect/errors/ASReflectError.as
./org/libspark/asreflect/errors/NotFoundError.as
./org/libspark/asreflect/Method.as
./org/libspark/asreflect/Property.as
./org/libspark/asreflect/Parameter.as
./org/libspark/asreflect/Member.as
./org/libspark/asreflect/MetadataAware.as
./org/libspark/asreflect/Metadata.as
./org/libspark/asreflect/Type.as
./org/libspark/asreflect/ASReflect.as
./org/libspark/asreflect/TypeFactory.as
./org/libspark/asreflect/builders/BasicConstantHandler.as
./org/libspark/asreflect/builders/BasicTypeFactory.as
./org/libspark/asreflect/builders/BasicVariableHandler.as
./org/libspark/asreflect/builders/ImplementsInterfaceHandler.as
./org/libspark/asreflect/builders/ExtendsClass.as
./org/libspark/asreflect/builders/ImplementsInterface.as
./org/libspark/asreflect/builders/ParseContext.as
./org/libspark/asreflect/builders/BasicConstructorHandler.as
./org/libspark/asreflect/builders/BasicFactoryHandler.as
./org/libspark/asreflect/builders/ElementHandler.as
./org/libspark/asreflect/builders/BasicTypeHandler.as
./org/libspark/asreflect/builders/BasicAccessorHandler.as
./org/libspark/asreflect/builders/BasicParameterHandler.as
./org/libspark/asreflect/builders/BasicMethodHandler.as
./org/libspark/asreflect/builders/Arg.as
./org/libspark/asreflect/builders/BasicMetadataHandler.as
./org/libspark/asreflect/builders/ArgHandler.as
./org/libspark/asreflect/builders/XmlParser.as
./org/libspark/asreflect/builders/ExtendsClassHandler.as
./org/libspark/asreflect/impls/BasicType.as
./org/libspark/asreflect/impls/MetadataAwareSupport.as
./org/libspark/asreflect/impls/BasicMember.as
./org/libspark/asreflect/impls/BasicParameter.as
./org/libspark/asreflect/impls/BasicProperty.as
./org/libspark/asreflect/impls/BasicMetadata.as
./org/libspark/asreflect/impls/BasicMethod.as

これを整形します。
1. ./ を削除
2. .as を削除
3. / を . に変換
4. 空白区切りで連結して出力
この肯定を行えばいいわけです。
そこで登場するのが perl -p です。　perl -n でもいいです。
違いは改行あるかないか程度です。
これを使うことで

1
2
while&#40;&#60;&#62;&#41;&#123;
&#125;

これと等価になるわけです。
つまりは、

1
2
3
4
5
6
7
8
perl -ple 'chomp; s{\./}{};s{\.as$}{}s;s{/}{.}g';
&#160;
whild&#40;&#60;&#62;&#41; &#123;
  chomp;
  [...]]]></description>
			<content:encoded><![CDATA[<p>どうも。久しぶりにエントリー書きます。<br />
今回は compc を使って swc ファイルの作成を行います。<br />
その際になんと、、、、<br />
Class ファイルをすべてコマンドラインから指定してやらないといけないみたいなのです。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">compc compc <span style="color: #660033;">-output</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>作成されるファイル名<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #660033;">-source-path</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">source</span>のある場所<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #660033;">--include-classes</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>すべてのクラスファイル<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

<p>これを実行すると swc ファイルを自分で作成することができます。</p>
<p>ただ何が問題かっていうと、<br />
&#8211;include-classes にすべてのクラスファイルを指定しないといけないんです。<br />
org.libspark.asreflect.errors.ASReflectError　こんなフォーマットで。<br />
これをファイルパスから取り出すのなんてめんどくさすぎる。<br />
しかも / でなくて . 区切り。</p>
<p>というわけで、そこで perl の登場です。(※ここでは ASReflect を使用しています)<br />
まず file だけを出力し、さらに .svn 以下のファイルを省きます。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #660033;">-type</span> f <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> <span style="color: #c20cb9; font-weight: bold;">svn</span></pre></td></tr></table></div>

<p>この結果、出力される形式がこんな感じ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>errors<span style="color: #000000; font-weight: bold;">/</span>ASReflectError.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>errors<span style="color: #000000; font-weight: bold;">/</span>NotFoundError.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>Method.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>Property.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>Parameter.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>Member.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>MetadataAware.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>Metadata.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>Type.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>ASReflect.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>TypeFactory.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicConstantHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicTypeFactory.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicVariableHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>ImplementsInterfaceHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>ExtendsClass.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>ImplementsInterface.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>ParseContext.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicConstructorHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicFactoryHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>ElementHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicTypeHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicAccessorHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicParameterHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicMethodHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>Arg.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>BasicMetadataHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>ArgHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>XmlParser.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>builders<span style="color: #000000; font-weight: bold;">/</span>ExtendsClassHandler.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>impls<span style="color: #000000; font-weight: bold;">/</span>BasicType.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>impls<span style="color: #000000; font-weight: bold;">/</span>MetadataAwareSupport.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>impls<span style="color: #000000; font-weight: bold;">/</span>BasicMember.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>impls<span style="color: #000000; font-weight: bold;">/</span>BasicParameter.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>impls<span style="color: #000000; font-weight: bold;">/</span>BasicProperty.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>impls<span style="color: #000000; font-weight: bold;">/</span>BasicMetadata.as
.<span style="color: #000000; font-weight: bold;">/</span>org<span style="color: #000000; font-weight: bold;">/</span>libspark<span style="color: #000000; font-weight: bold;">/</span>asreflect<span style="color: #000000; font-weight: bold;">/</span>impls<span style="color: #000000; font-weight: bold;">/</span>BasicMethod.as</pre></div></div>

<p>これを整形します。<br />
1. ./ を削除<br />
2. .as を削除<br />
3. / を . に変換<br />
4. 空白区切りで連結して出力<br />
この肯定を行えばいいわけです。</p>
<p>そこで登場するのが perl -p です。　<strong>perl -n</strong> でもいいです。<br />
違いは改行あるかないか程度です。<br />
これを使うことで</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">&lt;&gt;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>これと等価になるわけです。</p>
<p>つまりは、</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="perl" style="font-family:monospace;">perl <span style="color: #339933;">-</span>ple <span style="color: #ff0000;">'chomp; s{\./}{};s{\.as$}{}s;s{/}{.}g'</span><span style="color: #339933;">;</span>
&nbsp;
whild<span style="color: #009900;">&#40;</span><span style="color: #339933;">&lt;&gt;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066;">chomp</span><span style="color: #339933;">;</span>
  <span style="color: #000066;">s</span><span style="color: #009900;">&#123;</span>\<span style="color: #339933;">./</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
  <span style="color: #000066;">s</span><span style="color: #009900;">&#123;</span>\<span style="color: #339933;">.</span>as$<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #000066;">s</span><span style="color: #339933;">;</span>
  <span style="color: #000066;">s</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">.</span><span style="color: #009900;">&#125;</span>g<span style="color: #ff0000;">';
}</span></pre></td></tr></table></div>

<p>ということですね。<br />
簡単で便利です。</p>
<p>これでコマンドラインからの作業が軽減されました。</p>
<p>ちなみにこんなこともできるみたいです。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="perl" style="font-family:monospace;">perl <span style="color: #339933;">-</span>ple <span style="color: #ff0000;">'push @a, $_; }{ print @a;'</span><span style="color: #339933;">;</span>
&nbsp;
whild<span style="color: #009900;">&#40;</span><span style="color: #339933;">&lt;&gt;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000066;">push</span> <span style="color: #0000ff;">@a</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$_</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #000066;">print</span> <span style="color: #0000ff;">@a</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>すげぇ～便利！！！<br />
これで出力された値を &#8211;include-classes に指定して実行すれば<br />
swc ファイルが生成されます。<br />
これで毎度毎度の作業が楽になりそうです。</p>
<p>perl の特殊変数のメモ<br />
$\ =>  printの末尾に出力される。 (perl -l だと &#8220;\n&#8221; のはず??)<br />
$, => printを使った時のセパレータ<br />
$&#8221; => リストコンテキスト変数展開をダブルクォートの中で行った時の区切り文字<br />
$/ => ファイルハンドルからとってくる区切り文字</p>
<p><strong>参考資料</strong><br />
<a href="http://www.rfs.jp/sb/perl/02/nw01.html">特殊変数一覧</a><br />
<a href="http://www.stackasterisk.jp/tech/program/perl04_04.jsp">Perlコマンドラインオプション</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dealforest.net/2008/09/perl%e3%82%92%e3%83%af%e3%83%b3%e3%83%a9%e3%82%a4%e3%83%8a%e3%83%bc%e3%81%a7%e4%be%bf%e5%88%a9%e3%81%aa%e4%bd%bf%e3%81%84%e6%96%b9compc%e3%82%92%e4%bd%bf%e3%81%86%e6%99%82%e3%81%ab%e4%be%bf%e5%88%a9/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
