Perlを勉強中、以下(注1)の内容をhello.plに記述して
MS-DOSでperl hello.plとタイプしました。そしたらC:\Perl>が
消えて、左端にカーソルが点滅するだけになってしまいした。
MS-DOSの右上にある x ボタンを押して終了しようとすると、
以下(注2)のダイアログが、出てしまいます。
EXITと入力しても、下の行にEXITと表示されるだけで終了できません。
また、タイトルバーがPERLになっているのはなぜなんでしょう?
ご存知の方いましたら、お願いします。
Windows 98
IE 5.5
SHARP Mebius MJ-10
注1
for ($i = 0; $i <= $#ARGV; $i++) {
open(IN, $ARGV[$i]);
while (<IN>) {
print;
}
close(IN);
}
注2
PERL
このプログラムを自動的にシャットダウンすることはできません。
プログラムの終了コマンドを使ってください。
プログラムで頻繁にエラーが発生する場合は、[スタート]メニューの[ヘルプ]を選び、
トラブルシューティングの「MS-DOSに関する問題」を参照してください。
No.1
- 回答日時:
えーっと、これで全文ですか?
これより前にファイル名を設定している部分があると思うのですが…
例えば、ファイル名が"con"などとなってませんか?
試しに、Ctrl+Zキーを入力してみてください。
これで元の画面に戻るようでしたら、「ファイルを読み込む」代わりに「ユーザからの入力」を読み取ってしまってるのが原因ですね。
きちんと存在するファイルの名前を指定してやれば、うまく動くと思いますよ。
あと、これは蛇足になりますが、open…の行を
open(IN, $ARGV[$i]) || die "Can't open file: $!";
などとすると、存在しないファイル名を指定したときとかにエラーを表示してくれますよ。
|| die …
を付けないと、場合によってはデバッグが困難になります。
この回答への補足
Ctrl + Z を押したら C:\Perl に戻りました。ありがとうございます。
MS-DOS を終了する時って、x (閉じるボタン) で終了してはいけないのでしょうか?
昨日まで、 x(閉じるボタン) で終了していました。
No.2
- 回答日時:
>MS-DOS を終了する時って、x (閉じるボタン) で終了してはいけないのでしょうか?
プログラムが動いている状態では、ばつで閉じようとすると警告が出ます。
コマンドコンソールと同じようにカーソルが点滅しているだけでも、この場合perlが実行状態だったので、警告が表示されたのでしょう。
今回の場合[CTL-Z]で対応できたようですが[CTL-C]も覚えておいた方が良いかも。
[CTL-Z]:ファイルの終了を表すEOFを送る。
[CTL-C]:標準入出力中にPGを強制終了する。
No.3
- 回答日時:
>MS-DOS を終了する時って、x (閉じるボタン) で終了してはいけないのでしょうか?
C:\>などのプロンプトが表示されている状況では×でいいですが、今回の場合、まだPerlが動作中なんです。
キーボードから入力できるとありますが、これは、Perlがキーボードからの入力を受け取っているっていう状態なのです。
つまり
while (<IN>) {
print;
}
の部分がまだ実行中なんですね。
<IN>に、キーボードからの入力が割り当てられている為、
1:「while (<IN>){」でキーボードからの入力を受け取る
2:「print;」で、それを画面に表示する。
3:「}」で1:に戻る
というプログラムがずっと動いているわけです。(だからタイトルバーが「Perl」になっているのです。)
で、<IN>に何らかのファイルが割り当てられているときには、ファイルの末尾に達すればこのプログラムは停止しますよね。
キーボードからの入力の場合は、何らかの形で「ファイルの末尾」に相当する部分を作らなければなりません。
それが、「Ctrl+Z」なのです。
ARCさんの解説わかりやすくて、助かりました。
どうりで、何回 EXIT と打っても EXIT と返ってくるんですね。
それと、もうひとつ質問よろしいでしょうか?
MS-DOS プロンプトでスクロールバーを表示する方法ご存知でしたら教えて頂きたいのですが。
よろしくお願いします。
注1のソース間違えて書いてしまいました。すみません。
実際は、下記のソースでした・・・。
while (<>) {
print;
}
No.4ベストアンサー
- 回答日時:
>MS-DOS プロンプトでスクロールバーを表示する方法ご存知でしたら教えて頂きたいのですが。
えと、Win98/Meでは、コマンドプロンプトにスクロールバーは付きません。
ずらーーっと流れていくテキストを見るためには、一般的には「ページャ」を呼ばれるソフトを使います。
例えば、コマンドプロンプトで、
Dir | More
と打ち込んでみてください。dirの出力が、1画面ごとに区切られて出力されたと思います。
「|」はパイプといって、あるプログラムの出力を別のプログラムに渡す働きがあります。
「More」はページャと呼ばれるタイプのソフトで、どこかから入力を受け取って、1画面ごとに区切って画面に表示するプログラムです。
More以外にもページャはあります。「MIEL」(↓)なんか使いやすいですね。
http://www.vector.co.jp/soft/dos/util/se004783.h …
使用するコマンドによっては、1画面ごとに区切って表示するオプションが装備されているものもあります。
Dir /p
などとしても、1画面ごとの出力になりますよね。
また、Windows2000/XPでは、コマンドプロンプトにスクロールバーが付くのでそれを利用すればいいですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(OS) WindowsとMS-DOSの違いって何ですか? 5 2022/10/26 02:19
- Windows 7 Windows7でMicrosoft VirtualPC2007 SP1を使用する 9 2022/11/17 13:12
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Perl perlプログラミング 空白行削除 4 2023/01/28 17:58
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のプログラムを選択の画面で...
-
VBScript ファイルの関連付けに...
-
VMGファイルを開くには
-
JPEGのデータがペイントで...
-
「プログラムから開く」の一覧...
-
CADソフト Jw_cad これを、DXF...
-
.kkzのファイルの開き方が分か...
-
PDF-Viewer
-
IISでCGIの設定がうまくいきません
-
「システム管理者によりこのプ...
-
,xtx(拡張子)の関連付けを規...
-
Media Playerでの映像ファイル...
-
spoolsv.exeがサーバ権限を要求
-
ファイルの関連付けの仕組み(a...
-
win7以降の証明書の場所?
-
DVDでUDFファイルシステムを...
-
サミー777タウンが起動しません
-
EXCELでマイクの音を受信したい
-
関連付けの解除の方法がわかり...
-
デスクトップのアイコンが全て...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VMGファイルを開くには
-
別のプログラムを選択の画面で...
-
JPEGのデータがペイントで...
-
「システム管理者によりこのプ...
-
アウトルックをアンインストー...
-
Updregって何ですか?
-
jpegを開こうとするとWindows M...
-
VBScript ファイルの関連付けに...
-
キングのアプリケーションマネ...
-
tiffファイルを「Office Docum...
-
PDF-Viewer
-
動画がダブルクリックで再生で...
-
CドライブのProgramFile内のフ...
-
デスクトップのアイコンが全て...
-
open office→microsoft に戻し...
-
拡張子.tibxの開き方
-
,xtx(拡張子)の関連付けを規...
-
「いつもこのアプリケーション...
-
Database mdb について
-
「プログラムから開く」一覧に...
おすすめ情報