人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlの用途。

・単純なCGIとして
・本格Webサイト開発言語として
・unixシェルの1コマンドとして

もうひとつはシェルスクリプトの代用としての使い方があるのでしょうか?
その場合利点は何がありますか?

bash,cshなとでスクリプトを組もうとしていますが、コマンドごとの動きが妙に違っていたり
全体の統一感の問題や、この場合はこれができないといった不思議な弱点が多いように思い
perlにしようかと思ってます。

そのへんアドバイスいただけたらと思います。

●質問者: MASHMASH
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:bash CGI csh Perl UNIX
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● dev_zer0
●40ポイント

まず、cshはログインシェルで使うにはともかく、プログロラム言語としては不向きです。

何故不向きなのかは有名どころとしては


なぜ csh でプログラムを書くのが良くないのか

原題:"Csh Programming ConsideredHarmful,"

http://www.kiso.tsukuba.ac.jp/~makimura/text/node239.html

があるので、それを見て下さい。


さて、シェルスクリプトとしての代用としての使い方は「あり」です

というか、私は用途によってsh/perlは使い分けています。


向いている処理としては

文字列編集を多用している処理(特にshの中でawk/sedが多用されている)


向いていない処理としては

外部コマンドを多用している処理(一々system関数を呼ぶ必要がある)

# 個人的に「`」はコマンドが正常終了したか不明なので嫌い


あと、スクリプト全般に言えますが、あまり複雑なことをさせようとすると

必要以上にソースが汚くなってしまうのが悲しいですね。

◎質問者からの返答

ありがとうございます!

大変参考になります。

使い分けポイントもおっしゃるとおりだと思います。


2 ● b-wind
●35ポイント

もうひとつはシェルスクリプトの代用としての使い方があるのでしょうか?

Perlとは…?

もともと Perl の出自からしてそういう目的で作られた物だからねぇ。

sh, awk, sed あたりから文法持ってきてるから、記号が多くて嫌われやすい一因にはなってるし。


・単純なCGIとして

・本格Webサイト開発言語として

・unixシェルの1コマンドとして

向き不向きは別とすればこれらすべて shell スクリプトで実現する事も不可能ではない。


極論すれば shell スクリプトは外部コマンドを使用する事を前提として本体機能を押さえたスクリプト言語

という側面はあるから。



その上で大きな違いと言えば結局の所、1点に集約できる

高機能なコマンドがあればスクリプト自体は簡潔で済むが自身で実装しようとすると難易度が極端に上がる

外部コマンドの利用も出来るがあまり得意ではない。( まともに使うなら system じゃなくて fork と exec つかうけど面倒 )


後はどういう内容の事をやらせるか次第かな。

この場合はこれができないといった不思議な弱点が多いように思い

単にその shell の文法や適した外部コマンドを知らないだけの可能性もあるので何とも言い難いところ。

ぶっちゃけ shell スクリプト中に Perl のワンライナーがはいってても良いわけで「出来無い」って事は無いと思うんだけど。

◎質問者からの返答

ありがとうございます。

できないは言いすぎでしたね。

やりやすいかどうかだと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ