以前よりCGIでPerlをよく利用していたのですが、現在サーバーの保守や管理で簡単なシェルを使う機会が多くなりました。しかし、シェルスクリプトになるとちょっと難しくて勉強する時間がなくできるだけPerlでいろいろな処理をしたと思っています。
質問は、PerlをGnome端末などから操作するにはどうしたらよいのでしょうか?いくつかの処理をPerlで書いて
$ perl -w /home/tinte/test_perl.pl
みたいな感じで処理はできますが、シェルのように絶対パスではなくコマンドをそのまま記述することは可能でしょうか?例えば上記の処理を
$ perl -w test_perl.pl
のような感じで短縮できればよいなと思っています。どこかにリンクを貼ったり設定を変えればできそうな気がしていますが、もしわかる方がいましたらおしえてください。
またPerlのコマンドをそのまま端末で使うことはできないのでしょうか?
周囲にわかる人間が全くいないのでいろいろヒントをもらえるとうれしいです。よろしくお願いします。
No.1
- 回答日時:
しょせんは「そのファイルが読めればいい」ので, /home/tinte がカレントディレクトリなら
perl -w test_perl.pl
で OK.
後半は「Perl のコマンドをそのまま端末で使う」の意味が不明. 「Perl そのものをシェルにする」Perlsh か「Perl の対話的デバッグ環境」perl -de 0 あたり?
この回答への補足
説明が足らなくてすみません。
Perlのコマンドをそのまま使う…というのは、例えばですが、
$ perl -e 'print "hogehoge\n";'
みたいな感じでPerlのコマンドのprintをそのまま使う方法はないのかな…と思いまして。上記の例は実際に使えているんですが、複雑なことをすると-eオプションでは動いてくれないみたいなのです。
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 は環境依存です)
No.3
- 回答日時:
man perlで確認してください
perl -e ' command'
ただし、ActivePerl(Windows)の場合
perl -e " command"
でないとだめみたいです。
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.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- Perl Perlで特定文字列から特定文字列までを抜き出したい 4 2022/04/02 14:24
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- その他(プログラミング・Web制作) HTMLを組み込むことができない言語 3 2022/05/21 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「デバイスは PRN を初期化でき...
-
mac perl 5.10 インストール
-
#!/usr/bin/perlで書きだしたCG...
-
perlの1行目が#!/usr/bin/perl...
-
エクセルVBAでシートモジュール...
-
Excel VBA 『Call』で呼び出す...
-
VBA This Workbookモジュール...
-
Excel VBAでリンク切れをチェッ...
-
VBAで旧字体を異字体に一括で変...
-
例外処理のフローチャートの記...
-
モジュールとクラスの違いって...
-
VBでグローバル変数を宣言するには
-
VBAで別モジュールへの変数の受...
-
【vba】フォームに書いてあ...
-
VBAでoutlook365が起動しません。
-
Perl モジュールのアンインスト...
-
グラフのX,Y座標を取得したい
-
fetchrow_arrayとfetchrow_hash...
-
perlをバージョンアップしたら...
-
COBOLで、Shellを起動するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「デバイスは PRN を初期化でき...
-
#!/usr/bin/perlで書きだしたCG...
-
「Perl Command Line InterPret...
-
DBD-ODBCのインストールができ...
-
Perlの実行パスを自動で変更す...
-
【超初心者】異なるディレクト...
-
ActivePerlでWindows上のパスを...
-
「jcode.pl」というファイルは...
-
activeperlでDBD-Pgを扱うと、p...
-
初心者 CGIがうまく表示できな...
-
cpan2rpmでlibwww-perlをインス...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
例外処理のフローチャートの記...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
LCD ディスプレイを Raspberry ...
おすすめ情報