人に聞けない痔の悩み、これでスッキリ >>

自分のPC内でPerlファイルを実行する為に、
ActivePerl 5.8.8 Build 819
httpd.exe
をインストールしています。


先週くらいまでは特に何ともなかったのですが、今日PC内を開いてみたら、
拡張子.plファイルのアイコンが「Perl Command Line InterPreter」に関連づけされていました。
関連付けはちょっとしたことでかわってしまうようなので、何かのキッカケでかわってしまったのかな、と思っておりますが。(自分では直接指定していません。)
また上記のアプリケーションはPerlを書く為のテキストエディタと認識しましたが、あっていますか?(普段はメモ帳で開いて編集しております。)
これは「ActivePerl」をインストールすると、一緒に入るものですか?
([スタート]-[プログラム]の中のActivePerlの中をみると、「Perl Package Manager」という名前の同じアイコンのものが存在しているようです。)

もともと.plファイルのアイコンは黄色い●だったと記憶していますが、これは何が関連付けされてこのアイコンになっていたのでしょうか?

最初はアイコンが変わっていたのに驚き、ウイルスか!?とびっくりしてしまいました。
これはそういう心配はないものでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

「Perl Command Line InterPreter」はperlを実行するためのプログラムで、


通常は
 <ActivePerlをインストールしたディレクトリ>\perl\bin\perl.exe
がそのプログラムです。

そもそもActivePerlをインストールする目的は、
このperl.exeを入れてperlプログラムを実行可能にすることです。
(実際にはperl.exe以外にも様々なファイルが動作に必要ですが。)

> 何かのキッカケでかわってしまったのかな、と思っておりますが
ActivePerlをインストールしたときでしょう。
perlプログラムには一般的に拡張子plが使われるのでperl.exeに関連づけされると思います。

> また上記のアプリケーションはPerlを書く為のテキストエディタと認識しましたが、あっていますか?
前述した通り、perlプログラムを実行するためのソフトウェアなので、
エディタではありません。

# インタープリタ(InterPreter)については参考URLを参照

参考URL:http://e-words.jp/w/E382A4E383B3E382BFE38397E383 …
    • good
    • 0
この回答へのお礼

.plのアイコンが、お星様4つとくらげみたいなのが組み合わさったアイコン(説明がうまくなくてスイマセン)になっているのですが、これは正常なんですね。
安心しました。

今までは黄色い○だったもので。

もしおわかりになれば、何が関連づけされて黄色い○になっていたのか教えていただけますでしょうか?

インタプリタについては昔学校で習ったのにすっかり忘れていました(^^;

お礼日時:2006/12/05 00:16

>もしおわかりになれば、何が関連づけされて黄色い○になっていたのか教えていただけますでしょうか?



Ver UP をして perl のアイコンが変わっただけだと思いますよ。

perl の 5.6.x のアイコンが黄色い○です。
で、5.8.x のアイコンが、星4つとくらげみたいなやつ(これはおそらくヤモリ)です。

activeperl のサイトで、5.6.x 系の AS package をダウンロード、解凍すると、解凍したフォルダの中にある perl.exe は、黄色の○であることが確認できます。

参考URL:http://www.activestate.com/store/download.aspx?p …
    • good
    • 0
この回答へのお礼

なるほど!バージョンアップですか。
思いつきもしませんでした。

…あれヤモリだったんですね(^^;
くらげなんていって申し訳ない。

詳しく教えていただいてありがとうございました☆
安心して使えます♪

お礼日時:2006/12/06 22:53

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QactiveperlでDBD-Pgを扱うと、perlが強制終了する

まず環境です。

-----[os環境]----------------
windows xp sp2

-----[active perlバージョン]-
This is perl, v5.8.7 built for MSWin32-x86-multi-thread

-----[cpan環境]--------------
ppm> properties DBI
ppm> properties DBD-Pg
で結果表示あり(インストール済みと判断)

-----[PostgreSQLの環境]------
psql -U postgres -h localhost bookmark
ユーザ postgres のパスワード:postgres
ログイン可能でDB環境正常と判断。

の環境で、以下のスクリプトを実行すると、perlが強制終了します。
------[test.pl]--------
#! /usr/bin/perl
use DBI;

$dbname = "worple";
$user = "postgres";
$passwd = "postgres";
$host = "localhost";

#DBオープン
$db = DBI->connect("DBI:Pg:host=$host;dbname=$dbname", $user, $passwd) || die "DBI connect failed : $DBI::errstr";
#DBクローズ
$db->disconnect;

1;
----------------

エラーメッセージがでることもなく、googleでも似た症状を探せないでいます。
何かヒントや、参考のURLでもいいのでお教え下さい。
よろしくお願いします。

まず環境です。

-----[os環境]----------------
windows xp sp2

-----[active perlバージョン]-
This is perl, v5.8.7 built for MSWin32-x86-multi-thread

-----[cpan環境]--------------
ppm> properties DBI
ppm> properties DBD-Pg
で結果表示あり(インストール済みと判断)

-----[PostgreSQLの環境]------
psql -U postgres -h localhost bookmark
ユーザ postgres のパスワード:postgres
ログイン可能でDB環境正常と判断。

の環境で、以下のスクリプトを実行すると、perlが強制終了...続きを読む

Aベストアンサー

> あれ?helpで確認したところ存在していますよ。

こちらのActivePerlは 5.8.8(Build819)ですが
「Unrecognized ppm command」となってしまいます。
PPMがGUIになったことで5.8.8からは廃止されたのかもしれません。
(helpにも見当たらないので)

> 「問題が発生したため、Perl Command Line Interpreter を終了します。 ご不便をおかけして申し訳ありません。」

ひょっとするとDBD-Pgのコンパイル時に使われたVCランタイムまたは使用時に使われるOpenSSLのライブラリがないために異常終了しているかもしれません。
No2の回答にあるPgFoundryから
DBD-Pg-1.49-5.8s.tar.gz
を落として試してください。
なお、DBD-Pg-1.49-5.8.tar.gzにはOpenSSLのDLLが添付されていませんので[s]の付いている方で試してください。

> Windown環境では、シェバング(「#!」のこと)は意味を持たないので、何を書いても余り関係ないです。

CGIとして使用する場合は意味をもちます。(Windowsをサーバーとした場合でも)
サーバープログラム(例えばApache)がここを見てインタプリタに渡しますから。
なお、Apacheでもhttpd.confでScriptInterpreterSource Registryを使うと無視されます。
(レジストリを読んで関連付けされているもので実行されるため)

> あれ?helpで確認したところ存在していますよ。

こちらのActivePerlは 5.8.8(Build819)ですが
「Unrecognized ppm command」となってしまいます。
PPMがGUIになったことで5.8.8からは廃止されたのかもしれません。
(helpにも見当たらないので)

> 「問題が発生したため、Perl Command Line Interpreter を終了します。 ご不便をおかけして申し訳ありません。」

ひょっとするとDBD-Pgのコンパイル時に使われたVCランタイムまたは使用時に使われるOpenSSLのライブラリがないために異常終了しているか...続きを読む

QWindows 7でのカレントディレクトリについて

エクスプローラからPerlを起動する際のカレントディレクトリが、Windows 7 (x64) と Windows XPで違ってしまいます。

Windows XPの場合は起動した.plファイルの場所がカレントディレクトリとなり、特に問題はないのですが、Windows7の場合 C:\Windows\System32 がカレントディレクトリになってしまうようです。

以下の前提条件で、Windows 7 でも XPと同様の動作を実現する方法はないでしょうか。

[起動方法]
.plファイルを右クリック ⇒「プログラムから開く」⇒ Perl Command Line Interpriter
(既定のプログラムはメモ帳に設定)

[環境]
Windows (7 x64 or XP) + ActivePerl 5.14.2

Aベストアンサー

起動時のカレントディレクトリが異なる理由や変え方は分かりませんが、
スクリプト側でしょっぱなに chdir(dirname($0)); のようにして
明示的に移動してしまってはいかがでしょうか。

use Cwd;
use File::Basename;

my $scriptDir = dirname($0);# あるいは __FILE__ から取り出す

printf("%s: %s\n", '$0', $0);
printf("%s: %s\n", '__FILE__', __FILE__);
printf("%s: %s\n", 'cwd', cwd());
printf("%s: %s\n", 'ENV-p', $ENV{'PWD'});
printf("%s: %s\n", 'ENV-s', $ENV{'SCRIPT_FILENAME'}); # CGIで動かすときはこれを使う?(未確認)

print "\n*** chdir to $scriptDir\n";
chdir($scriptDir);
printf("%s: %s\n", 'cwd', cwd());


$0 や __FILE__ に「フルパス」が入っているかどうかは環境依存らしいですが、
Windows(7(x64) および XP(x86)) で ActivePerl (5.14.2)を動かす分には
期待通りに動作するようです。

起動時のカレントディレクトリが異なる理由や変え方は分かりませんが、
スクリプト側でしょっぱなに chdir(dirname($0)); のようにして
明示的に移動してしまってはいかがでしょうか。

use Cwd;
use File::Basename;

my $scriptDir = dirname($0);# あるいは __FILE__ から取り出す

printf("%s: %s\n", '$0', $0);
printf("%s: %s\n", '__FILE__', __FILE__);
printf("%s: %s\n", 'cwd', cwd());
printf("%s: %s\n", 'ENV-p', $ENV{'PWD'});
printf("%s: %s\n", 'ENV-s', $ENV{'SCRIPT_FILENAME'}); # CGIで動...続きを読む

Qディスク上のサイズとサイズはどうして違うんですか?

ファイルのプロパティ「全般」タブに表示されている「サイズ」と「ディスク上のサイズ」は、どっちが本当のサイズなのでしょうか?
どうしてサイズが違うのですか?
メールでファイルを送るときは、どっちのサイズを見ればいいのでしょうか?
これについて詳しく解説しているページがあったら、それもぜひ教えて下さい。
よろしくお願いします。

Aベストアンサー

「サイズ」はファイルの本当の大きさ、
「ディスク上のサイズ」はファイルが記録されているクラスタを合計した大きさです、
OSはファイルを幾つかのクラスタ(OSが管理するハードディスク上のブロック
の最小単位)を使ってHDDなどのメディアに保存します、

基本的に今のWindowsでは4KBのクラスタサイズで管理しているので例え1バイトのファイルでも「ディスク上のサイズ」4KBのサイズになってしまいます、
つまり常に「ディスク上のサイズ」の方が大きくなっているはずです、

メールに添付する場合は「サイズ」を確認するだけでOKです。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む


人気Q&Aランキング