- ベストアンサー
プログラムの修正について
- 以下のプログラムのコメントアウトを外すと、/datas/regular.txtファイルしか読み込まれなくなり、通常休診日ファイルが読み込まれなくなります。
- 通常休診日と重要休診日の両方のファイルを同時に読み込ませるためには、修正が必要です。
- ご指示のプログラムでは、通常休診日と重要休診日のファイルを個別に読み込んでおり、両方を同時に読み込む処理がないためです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
以下のようにしてください。 ------------------------------ #通常休診設定 $hdayfl = "./datas/hday7.txt";open (DT,"<$hdayfl");$hday1 = <DT>;close (DT); #$hdayを$hday1に変更する #重要休診日 $regular = "./datas/regular.txt";open (DT,"<$regular");$hday2 = <DT>;close (DT); #$hdayを$hday2に変更する $hday = $hday1 . ',' . $hday2; #・・・この行を追加 以降は変更無し ------------------------------ 質問ですが 11-28とは11月28日という意味でしょうか? もし、そうだとすると、通常休診日と重要休診日とで日付が重複することはないのでしょうか。 (例えば、12-13がどちらのファイルにも入っている場合です。) その場合、12-13が重複するので、片方を、取り除く必要があると思いますが、 それは行わなくても良いのでしょうか。そもそも、日付の重複は発生しないのであれば、 このことは、問題になりません。 もし、日付の重複があって、それを取り除く場合は、更にスクリプトを変更する必要があります。
その他の回答 (4)
- askaaska
- ベストアンサー率35% (1455/4149)
perl ファイルの結合 とか perl ファイルの連結 とかで ググればいいと思うわ
お礼
再度細かくご教示くださりありがとうございました。 感謝いたします
- askaaska
- ベストアンサー率35% (1455/4149)
足し算するのが一番簡単かも?
補足
足し算ですか。。。。 具体的どのように書けばよろしいのでしょうか? 教えて頂けませんでしょうか~
- kmee
- ベストアンサー率55% (1857/3366)
> /datas/regular.txt" のファイルしか読み込まれなくなり、通常休診日ファイルが読み込まれなくなります 読み込まれないのではなく $hdayfl = "./datas/hday7.txt";open (DT,"<$hdayfl");$hday = <DT>;close (DT); で読んだ $hday を $regular = "./datas/regular.txt";open (DT,"<$regular");$hday = <DT>;close (DT); で上書きしてしまっているのです。 対策は、上書きしないようにすることです。 ここに書かれている内容では、どんなデータが入っていて、それをどうしたい、と言った仕様が不明なので 具体的な方法はお答えできません。
補足
お二方様ありがとうございます。 まずデータは11-28,11-30,12-13,12-15,12-1,11-25,12-24,12-29,12-30,12-31,1-1,1-2,1-3,12-15,12-8,12-10 のようにカンマ区切りでtxtに格納されています この例えば11-28はお休みにしたいっていうのが狙いです しかしこれは変動的なお休み設定で、重要休診日は、1年間を一度設定したら、基本もう触らない休日設定としたいのです。 そしてこのファイルを読み込んだとき、両方のtxtを読み込んで どちらも有効にさせたいというのが狙いです。 もし説明不足、ピント外れでしたら、ご指摘くださいませ。
- askaaska
- ベストアンサー率35% (1455/4149)
#重要休診日 の $hday = <DT>; で #通常休診設定 の $hday を上書きしてしまっているからよ それだけのことね
補足
$変数を適当なものに変えればいいってことでしょうか?
お礼
出来ました!! 二つの内容が読み込まれてるのを確認した時のあの時の感動、どうお伝えすればいいのか~ 感謝に堪えません!! しかし、ここにいらっしゃる住人様は流石としか言えません。 今後このQ&Aが他の方にもお役に立てばと思います ありがとうございました!!
補足
>11-28とは11月28日という意味でしょうか? そうです仰る通りです。 >通常休診日と重要休診日とで日付が重複することはないのでしょうか。 これにつきましては、今までも、11-28,11-28,11-30,,,,, となっても、問題なかったので、今回ファイルが分かれても大丈夫だと思います。ご心配頂き感謝いたします。 本当ご丁寧に有難うございます!!