• ベストアンサー

Perlを端末で使う

以前よりCGIでPerlをよく利用していたのですが、現在サーバーの保守や管理で簡単なシェルを使う機会が多くなりました。しかし、シェルスクリプトになるとちょっと難しくて勉強する時間がなくできるだけPerlでいろいろな処理をしたと思っています。  質問は、PerlをGnome端末などから操作するにはどうしたらよいのでしょうか?いくつかの処理をPerlで書いて $ perl -w /home/tinte/test_perl.pl みたいな感じで処理はできますが、シェルのように絶対パスではなくコマンドをそのまま記述することは可能でしょうか?例えば上記の処理を $ perl -w test_perl.pl のような感じで短縮できればよいなと思っています。どこかにリンクを貼ったり設定を変えればできそうな気がしていますが、もしわかる方がいましたらおしえてください。 またPerlのコマンドをそのまま端末で使うことはできないのでしょうか? 周囲にわかる人間が全くいないのでいろいろヒントをもらえるとうれしいです。よろしくお願いします。

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

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.2

test_perl.pl が PATH 上にあるなら、Perlの種類によっては perl -S test_perl.pl で起動できると思います。 同じくPATH上にあって、実行パーミッションがあって、test_perl.pl の 1行目に以下が書いてあれば、 シェルスクリプトと同様に test_perl.pl をコマンド名として使用できると思います。 #! /usr/bin/perl (/usr/bin/perl は環境依存です)

Tinte
質問者

お礼

ありがとうございます!

その他の回答 (3)

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.4

やりたい事が良くわからないのですが、ひとつの事をする為のファイルが Shellスクリプト と Perlスクリプトの 2本になるのがヤな訳ですか? > 複雑なことをすると-eオプションでは動いてくれないみたいなのです。 複雑な事って、 「'」を含んだり改行を入れたいって事ですか? Shellの種類にもよりますが、POSIX Shell なら以下でどうですか? #! /usr/bin/sh echo This is Shell output. perl <<EOF print "This is Perl output.\n"; print "I can use ' and \".\n"; print "I can use multi line.\n"; EOF echo This is Shell output 2.

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.3

man perlで確認してください perl -e ' command' ただし、ActivePerl(Windows)の場合 perl -e " command" でないとだめみたいです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

しょせんは「そのファイルが読めればいい」ので, /home/tinte がカレントディレクトリなら perl -w test_perl.pl で OK. 後半は「Perl のコマンドをそのまま端末で使う」の意味が不明. 「Perl そのものをシェルにする」Perlsh か「Perl の対話的デバッグ環境」perl -de 0 あたり?

Tinte
質問者

補足

説明が足らなくてすみません。 Perlのコマンドをそのまま使う…というのは、例えばですが、 $ perl -e 'print "hogehoge\n";' みたいな感じでPerlのコマンドのprintをそのまま使う方法はないのかな…と思いまして。上記の例は実際に使えているんですが、複雑なことをすると-eオプションでは動いてくれないみたいなのです。