![]() |
|
|
|
今回は趣向を変えて他のスクリプトの紹介だぃっ! 皆さん、、Perlってご存知ですか? ホームページの掲示板、カウンターなどを動かしているスクリプトなんで良く耳にすると思います、、。 で、今回は触りだけですが紹介したいと思いますね、、。 |
| 準備して貰うもの、、。 |
| このMacPerlは、AppleScriptと同様単体では動作、コンパイル*1をさせる事が出来ません(と、思います、、笑)ので、はじめにMacPerlの本体をダウンロードしてインストールしてください。 The MacPerl Pages http://www.macperl.com/ *1 MacPerlは、実行形式で保存する必要があります、Windows版、UNIX版は、、ない、、というと嘘になりますが違います。 |
| ダウンロード出来ましたか? 大体こんな感じです↓ |
![]() |
| 注意事項 |
このMacPerlは英語版ですのでデフォルトで英語のフォント設定となっている為、結果Windowや、記述Window?のフォーマットをOsaka等幅などに変更しないと文字化けしてしまいますので下記の方法により文字化けを回避してくださいね、 やり方:化けているWindowをアクティブにして[Edit]Menu→[Format]よりOsaka等幅フォントを選ぶ。で文字化けは無くなります。 日本語版のMacJPerlというのも有るとの事ですが興味を持ちましたらご自身で調べてみてくださいね、。 |
| 何はともあれ、、書いてみましょう!! |
|||||
さて、本題のPerlScriptの記述を紹介します(まだ難しいのは書けないのですがね、、笑) 内容はファイル(test1)を読み込んで、中身が入っていたら内容を表示、入っていなかったら「何もかいてないじゃん、」を出力します。 まず、、デスクトップ上に[test1]ファイルを作っておいてください。 そして、MacPerlのMenuよりNewファイルを開いて下記を記述してみてください。 |
|||||
|
|||||
さて、書き終わりましたか? AppleScriptを書いてたら楽勝でもう意味もわかちゃった方もいると思いますが、、笑 そして、このMacPerlにもAppleScriptと同じような構文チェックと、実行があります。 構文チェック ショートカットキー(Shift + 林檎 + Kキー)もしくはScriptMenuの上から4番目から実行出来ます 実行 ショートカットキー(Shift + 林檎 + Rキー) もしくはScriptMenuの上から2番目です。 まず、実行の前に構文チェックをして エラーが無い場合は結果Window(「MacPerl」と書いてある)に「なんたらかんたら syntax OK」と表示されます、 ダメな場合はエラーと思われるline番号とエラーの表示がされますのでそれを参考にしながら修正してください、。 とにかくsyntax OKが出れば実行可能です。 上記スクリプトの実行結果は、test1ファイル内になんらかの記述があればその内容を、何も書かれていなければ「何も書いて無いじゃん、」を実行結果Windowに表示されます。 |
|||||
| じゃ、同じ事をAppleScriptで書いてみると、、 |
|||||
|
|||||
あ、、AppleScriptの方が2行くらい簡単でしたね、、笑。 これもPerlと同じく、何か書かれていたらその内容を、、書かれていなければ「何も書いて無いじゃん」を結果Windowに表示します。 |
| Perlの凄い所は、、こんな所とか、、こんなとこ。 |
|||||
今度は文字列を扱ってみますね、、見た目難しい?けどrepeat文なんかを理解した人には簡単ですので、、考えながらみてくださいね、、。 例では、「名前=JinJin,好物=アップル,趣味=昼寝」という文字列を$MyText変数へ代入して、からカンマで区切りさらにforeach(repeatと考えてOK)内でイコールで区切りprintで順に出力しています。(\nは、改行記号です、) |
|||||
| Perl初歩1 文字の分割 | |||||
|
|||||
書けましたか?上記のスクリプトの実行結果は、 僕の名前は、JinJinです。 となるのが正解です、以下簡単ですが、スクリプトの内容の説明をお読みください。 $MyText = "ほにゃらら"; @lines @lines = split(',', $MyText); foreach $i (@lines) { ...... } print "変数混在のテキスト\n"; 書くの忘れてましたが、、行の最後には必ず ; ←セミコロンをお忘れなく、、、。 |
|||||
| Perl初歩2 置き換えも簡単っ! | |||||
|
|||||
置き換えも簡単、、この結果は先ほどのと同じで、、 僕の名前は、JinJinです。 僕の好物は、アップルです。 僕の趣味は、昼寝です。 となります、、処理の内容はいたって簡単で、イコール記号を「は、」に置き換えただけなんですねー、、置換えは s/置き換えたい物/置き換えるもの/g; とこの一文でOKです、めちゃめちゃ簡単でしょ、、驚きですよね、、。 $i =~ s/\=/は、/g; ってだけで、$iに=が含まれていたら「は、」と置き換えちゃうんです、、(=の前に付いている\マークは、=を記号と認識させる為に使用しています他の記号類も、対象として扱う時は\を付けて記述してください。 例えば/←を「は」で置き換えたい時は s/\//は/g;となります。 さってと、、あんまりやると、、perlの腕前がばれてしまうので、、じゃなくって、AppleScriptと離れてしまうのでこの辺で終了しちゃいます、ね、、(え、中途半端だって?)そんな事いわないでー、、汗 |
| 終わりに、、。 |
実は今回Perlを題材にしたのは、、実はぼくPerlにはまっちゃいまして、、CGIスクリプトを今覚えている所です、、formデコードを作ろうと思ったら掲示板を作っちゃいました、、いやぁ、、Perl面白いですよ、、CGIってHTMLと組み合わせて作るんですけど、パズルみたいな面白さが有ります、というのもPerlで掲示板のように沢山の処理をさせるには、1つ1つをサブルーチンにまとめ呼び出して処理させて分岐して、、、。と、それはそれはパズルのたのしさです、、。ただ難点は自分で付けたサブルーチン名や、変数名を忘れてしまってね、、1日じゃ書けないから1日空けてからスクリプトをみると思い出せないところやら、、なにやらがあって、、笑。 たいへーんん、、、、。 そんでもって、AppleScriptの他にもこんな面白くて簡単なScriptがあるんだーって事で今回やっちゃったわけです、、笑。 AppleScriptの方も手を抜いている訳じゃないんだけどアプリケーション寄りだから、持っている人と持ってない人が入るから、、とか思っちゃって、、どうも絞り切れないんですが、、そんな事いってると更新も出来なくなっちゃうから次回は、、FileMakerか、、それとも番外編でファイルメーカーやらなにやらの内蔵されているスクリプト(マクロ?機能?)を触ろうかなぁ、、なんても考えていますが、、次回更新までお楽しみに、、、汗。 ←いつだ、、それ? |
|
|