• ベストアンサー

Perlを用いたUNIXコマンド

初歩的なことだとは思うんですけど、Perlを用いてUNIXコマンドを実行するのと、普通にUNIXコマンドを実行するのはどういった違いがあるのでしょうか。 調べてみたけれども中々それらしい答えが無かったので質問することにしました。よろしくお願いします。

  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • linus1974
  • ベストアンサー率19% (71/370)
回答No.2

なぜそういう質問をしたいのかを書いていると もっとよい回答があるかもしれませんね。 Perlは文字処理が得意な言語ですので、 UNIXコマンドの結果を解析したり、 別のフォーマットへ変換したり などということを行いたい時は Perlを使う意味があります。 そういう処理が なければシェルプログラミングで十分です。

remon2000
質問者

お礼

なるほど参考になりました。別のフォーマットに変換する作業があったので、そのためにPerlを使ったのだと思います。ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

普通にUNIX コマンドを実行すればいいのであれば、 Perl からUNIX コマンドを実行する意味はないと思います。 実行した結果をPerl で処理したい とか どれを実行してどれを実行しないとか複数のコマンドを制御するために使うとか エイリアス的に使うとか 一処理かませるとかインターフェース的に使うとか そんな場合に使うんじゃないかと思います。

remon2000
質問者

お礼

普通に実行するだけでは無く、実行した結果を使う必要があったのでPerlを使ったのだと思います。回答ありがとうございました。

関連するQ&A

  • UNIXのコマンドについて

    UNIXのコマンドについて教えて頂きたいのです。 現在業務でVMSのサーバーを使っていますが、UNIXの端末からVMSサーバー上のプログラムを直接起動させたいのです。 「remsh」というコマンドを使って、DIRは成功したのですが 起動させたいプログラムは、実行できませんでした。 このため「remsh」以外で、UNIX端末から直接VMSサーバーの プログラムを起動出来るコマンドを教えて頂きたく 質問しました。 当方UNIXは素人ですので、宜しくご教授ください。

  • unix writeコマンドをPerlから

    unixで、ログインしている誰かにメッセージを送信するwriteコマンドをPerlから実行したいのですが、上手くいきません。 `write john\nThis is test msg`; では、sh[2] This ....とエラーとなります。 writeコマンドは、 write ユーザーid <CR> メッセージ<CR> ctl-D とするようですが、そのあたりが上手くプログラミングできない のが原因のようですが、良く判りません。 判るかた、宜しくお願い致します。 定期的のDISK使用状況をチェックし、FULLになりそうなら、 ログインしているユーザーに通知したいのです。

    • ベストアンサー
    • Perl
  • perl から unix コマンドを入力する方法

    perl から unix コマンドを入力するには、どのようにしたらよいのでしょうか。 具体的には、フォームから受け取った文字列を、useradd に渡して、ユーザーの追加をしたいのです。 perlスクリプトの所有者はrootで、属性はsetuid(4755)にしています。

    • ベストアンサー
    • Perl
  • perlスクリプト内でシェルコマンドを実行するには??

    タイトル通りなのですが、perlスクリプト内でシェルコマンドを実行させる方法が分からなく、困っています。 実行したいシェルコマンドはUNIXのcrontab なのですが・・。 また、perlスクリプト内以外でシェルコマンドを実行する方法はあるのでしょうか?? どなたか分かる方いらっしゃいましたらご教授いただけると幸いです。よろしくお願いします。

    • ベストアンサー
    • Perl
  • PerlとUnixの関係

    現在、Perlを勉強しているものです。バッチプログラムやVBScriptを使って、コマンドラインで便利に開発するようにしています。近々PCを購入し、UNIXでの開発をしようとおもっています。その際には、シェルプログラムなるものを覚えて便利に開発したいなあとおもっています。 話はそれますが、私はコンピュータ専門書籍の本屋さん(名古屋で一番の品数があるとおもわれます)に勤めているのですが、返品の棚にやや古めの「Unix&Perl」みたいな題名の本がありました。 本題に戻りますが、UnixではPerlをコマンドラインの機能の一部としてつかえたりするのですか?Windowsだとバッチプログラムで足りないところはJScriptやVBScriptで補ったりしなくてはならないのですが、Unixのシェルではその役目はPerlが果たしてくれたりすることがあるんでしょうか?要するに、シェルプログラムの機能強化としてPerlを使えたりするのでしょうか? あと、これは本題とは関係ないのですが、Unixを入れるならばFreeBSDやSoralisなどがあるみたいですが、どのディストリビューション?を選択すれば一番いいとおもいますか? 分かる方、回答をお願いします。よろしくお願いします。

    • ベストアンサー
    • Perl
  • UNIXで、直前のコマンドの一部を置き換えるときに

    UNIXでは、 ^AAA^BBB と入力すると、 「直前に実行したコマンドの、AAAをBBBに置き換えたものを実行する」 というようになっている、と思います。 さて、私がWindows上で使っているMSYS(UNIX風の環境を作り出すもの。)では、 直前のコマンドに、AAAが2箇所以上あるときに、最初の1箇所しか置き換えてくれません。 それはUNIXとしては普通の仕様なのでしょうか。 AAAが2箇所以上あるときに、それをすべてBBBに置き換えるためには、どのようにすればよいですか。

  • Unixコマンド コマンドを再実行

    Windowsのコマンドプロンプトで、前回行ったコマンドを再実行する際、F3キーを押しますが、それと同様な処理を行なうUnixコマンドを教えて下さい。

  • Perlの処理待ちコマンド

    Perlをインストールして勉強し始めて数十分のものです (まだ一時間経っていません)。いま、超簡単なサンプルで勉強中です。 環境はWinにActivePerlをインストールして、 コマンドプロンプトを立ち上げ「Perl ファイル名」とし実行しています。 これをファイルのダブルクリックで実行できるようにしたいと思っています。 というか実際には実行だけはできるのですが、一瞬で終わってしまい 結果の確認が出来ません。これを処理待ちさせて確認できるように したいのですが、その方法が分かりません。 DOSバッチのpauseとかに相当するものです。 今は分からないので、無限ループで代用していますがショボすぎます。 …と書いているうちに標準入力待ちをするコマンドが分かったので それを使うようにしました。少しはましになりましたが、 より正統な方法を知りたいです。 あと、一定時間待つコマンドもあとで使うようになるかも しれないのでこれもあわせて教えてください。 ・普通の処理待ちコマンド ・一定時間待つコマンド これを教えてください。よろしくお願いします。 $xx = 7; print "答は$xxです\n"; print '答は$xxです\n'; print "\n\n"; print "何か押してください"; $aa = <STDIN>;

    • ベストアンサー
    • Perl
  • UNIXのコマンド

    こんにちは。 UNIXのコマンドに関してお聞きしたい事があります。 カンマ(;) パイプ(|) の使い方の違いについて教えてください。 2つともコマンドを連続で使えるようにするものだと思っているのですが。 例1) # cd /tmp ; pwd 例2) # more syslog.log | grep "error" 分かるか方いたら教えてください。

  • UNIXのコマンド教えて下さい。

    UNIXで、lsの結果をファイルに出力する際、 ls > aaa.txtのようにすると出来ますが、 実行したコマンド "ls -la > aaa.txt" もファイルに出力させたいのですが、どうすれば出来ますか? 知ってる方教えて下さい!

専門家に質問してみよう