dポイントプレゼントキャンペーン実施中!

皆さんCPANをインストールする際

perl -MCPAN -e shell

とコマンドラインで入力されていると思いますが、
perl 以降の引数の中で 「shell」 について正確な意味を教えていただけませんでしょうか。

現在下記のものは理解しております。

■「-MCPAN」について
http://homepage3.nifty.com/hippo2000/perltips/CP …
※こちらの質問でも言及あり
http://oshiete.goo.ne.jp/qa/2460025.html

■「-e」について
http://www.rfs.jp/sb/perl/02/12.html

-eオプション以降にshellと入力するとどんな意味があるのでしょうか。
ご教授お願いいたします。

A 回答 (2件)

perl -e "print 'Hello world!!';"


の例とまったく同じですが。
どの辺りがわからないのでしょう?あなたの考える「正確な意味」にたりないものを補足してもらえるとありがたいです。

・"とかが付いていない
→例では、空白などが混じっているので''でかこって一つの文字列にしていますが、「shell」だけなら一つの文字列になっているのでくくる必要はありません
・;とか付いてない。文法的に違うのでは?
→ブロック等の最後の;は省略できることになっています。
・shell って関数がマニュアルに載ってない。
→Perlはモジュールを使用することで、標準では無い関数を定義できます。

いろいろ省略しないで書けば
perl -MCPAN -e '&CPAN::shell();'
になります(まだ足りないかも)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>・shell って関数がマニュアルに載ってない。
>→Perlはモジュールを使用することで、標準では無い関数を定義できます。

自分の疑問点はここでした。
Perlの関数リファレンスを探してもshellという関数がなかったので行き詰っていました。

search.cpan.orgからCPAN::Shellで検索して下記の記述を見つけましたので本件は解決とさせていただきます。

http://cpansearch.perl.org/src/ANDK/CPAN-1.9600/ …

>DESCRIPTION
> CPAN::shell([$prompt, $command]) Starting Interactive Mode
> Enter interactive mode by running
> perl -MCPAN -e shell
> or
> cpan

ありがとうございました。

お礼日時:2011/08/04 12:44

-e の意味は理解できていますか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!