アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (4件)

しょせんは「そのファイルが読めればいい」ので, /home/tinte がカレントディレクトリなら


perl -w test_perl.pl
で OK.
後半は「Perl のコマンドをそのまま端末で使う」の意味が不明. 「Perl そのものをシェルにする」Perlsh か「Perl の対話的デバッグ環境」perl -de 0 あたり?

この回答への補足

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

補足日時:2009/06/21 21:37
    • good
    • 0

test_perl.pl が PATH 上にあるなら、Perlの種類によっては



perl -S test_perl.pl

で起動できると思います。


同じくPATH上にあって、実行パーミッションがあって、test_perl.pl の 1行目に以下が書いてあれば、 シェルスクリプトと同様に test_perl.pl をコマンド名として使用できると思います。

#! /usr/bin/perl

(/usr/bin/perl は環境依存です)
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2014/03/08 15:41

man perlで確認してください


perl -e ' command'
ただし、ActivePerl(Windows)の場合
perl -e " command"
でないとだめみたいです。
    • good
    • 0

やりたい事が良くわからないのですが、ひとつの事をする為のファイルが 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.
    • good
    • 0

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