- 締切済み
perl
Perlの初心者です。 本当は、LINUXで使用したいのですが、 自宅にその環境が無いので、MS-DOSで使用する為、 テキストファイルに下記の記述をしました。 print "\n"; print "どれについて知りたいですか?"; print "\n"; print "\n"; print "(1)いちご"; print "\n"; print "(2)みかん"; print "\n"; print "(3)りんご"; print "\n"; print "\n"; print "回答 ____ "; print "\n"; 私としては、例えば、(1)のいちごを選べば、 任意の場所に保存している、いちごに関するファイルを MS-DOS上で開きたいのですが、上手くいきません。 何かが足りないのは、感じているのですが、 それが何なのかが、わかりません。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- dmq
- ベストアンサー率80% (21/26)
一応No.3の解答例を示しておきます。 [ここから]------------------------------ use strict; use warnings; use IO::File; print <DATA>; my @files = qw(strawberry.txt orange.txt apple.txt); while(<STDIN>){ /[1-3]/ and last; } my $fileHandle = IO::File->new($files[$_ - 1], O_RDONLY); print $fileHandle->getlines(); $fileHandle->close; $fileHandle = undef; __END__ どれについて知りたいですか? (1)いちご (2)みかん (3)りんご 回答 [ここまで]------------------------------
- dmq
- ベストアンサー率80% (21/26)
私の書いたプログラムは1~3の番号を入力すると、各テキストファイルの 内容が表示されるだけで、それ以外の文字は(質問も含めて)何も表示されません。 ("どれについて知りたいですか?";が私の書いたプログラムの何処に入っているか 見てもらえれば、なぜ何も表示されないかがすぐに理解できるはずです) もし何か表示したければ、4行目の空行に何か入れれば幸せになれるかと思います。
- dmq
- ベストアンサー率80% (21/26)
補足。 Perlプログラミングについて質問する場合は、今度から 「[技術者向] コンピューター > プログラミング > Perl」 のカテゴリで質問しましょう。その方が早く回答をもらえると思います。 また、次から質問タイトル部分にPerlで何がしたくても 出来ないかを簡潔に書くとより早く回答をもらえるでしょう。
- dmq
- ベストアンサー率80% (21/26)
use strict; use warnings; use IO::File; my @files = qw(strawberry.txt orange.txt apple.txt); while(<STDIN>){ /[1-3]/ and last; } my $fileHandle = IO::File->new($files[$_ - 1], O_RDONLY); print $fileHandle->getlines(); $fileHandle->close; $fileHandle = undef; __END__ 番号を入れてEnterを押すとテキストファイルを読み込みます。
お礼
dmg様 お返事ありがとうございます。 教えていただいた記述内容を テキストファイルに入力し、 question.txtという名前で保存しました。 それと、 strawberry.txt orange.txt apple.txt もそれぞれ作成し、保存しました。 その後、MS-DOSで上記テキストファイルの 保存場所に移動し、コマンドライン上で perl question.txt と入力しましたが、 何も表示されません。 私の処理の何処が間違っておりますでしょうか? *カテゴリーについても教えていただき ありがとうございました。
お礼
しばらく、考えていました。 やっとわかりました!! ありがとうございました。