• 締切済み

病院の当番表

mauraの回答

  • maura
  • ベストアンサー率46% (48/104)
回答No.5

<> で区切ったプログラムを考えるより ちゃんとDBにそのデータをいれてロジックを SQLとPerlに分担されるほうがスマートです 無理やりテキスト処理で何とかしようと出来ますが その仕組みを考えるだけの時間が無駄だと思います。 たくさんのよいプログラムが www.cpan.org にありますので 参考にするといいかもしれません。

関連するQ&A

  • 文字列比較がどうしてもできません。

    いつもお世話になっております。 現在、Perlの練習を兼ねてCGIによる簡単なスクリプトを作っています。 内容としては、フォームに入力された値を、『name.log』ファイルに書いてある値(名前一覧)を参照して、『hikaku.cgi』で比較し、 一致しなければ、『hikaku.cgi』が「名前がありません」という言葉を返す、というものです。 一応、505エラー等は起きていないのですが、どうしても文字列同士の比較ができないので、投稿しました。 各ファイルはこのような内容です。 『name.log』(604) takeshi masako-nisimura teru009 ....以下、10種ほど似たような物 『hikaku.cgi』(705) #! /usr/local/bin/perl $file = 'name.log'; $sain = 0; #フォームから値を取得する部分(省略) $ck = $FORM{'namae'}; open(DB,$file); @HIKAKU2 = <DB>; close(DB); print "Content-type: text/plain\n\n"; foreach $i (@HIKAKU2) { if($i eq $ck) { $sain++; } } if ($sain != 1) { print "名前がありません"; } __END__ こちらの考えでは、name.logの中で同じ名前はないので、$sainには1しか入らず、 したがって、名前がなかった場合は「名前がありません」が表示されるはずなのですが、どうもそれがうまく動きません。 一応、$sainとフォームデータの$ckがどうなっているか、printで表示させてみたのですが、 $sainは0、$ckは入力したフォームの値がきちんと反映されていました。 初心者ですので、間違ったところが多々あると思いますが、どなたか回答いただけると幸いです。

    • ベストアンサー
    • CGI
  • CGIログファイルから1行分ずつ表示。

    ログファイルが以下のように、 NAME=***&TITLE=***&HIDUKE=***= NAME=***&TITLE=***&HIDUKE=***= NAME=***&TITLE=***&HIDUKE=***= となっています。 このログファイルの中身を表示させようとしたのですが、1番上のデータ(1番古いデータ)しか表示されません。 これを数行分(できれば最新5件、など)表示させたいのですが、どのようにすればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • プルダウンメニュー

    過去ログをプルダウンメニューで表示してます。 例えば、ファイル1、ファイル2、とある所に、ファイル3を過去ログ として追加したような場合、ファイル1やファイル2にも、ファイル3の プルダウンメニューを増やしたいのですが、それを自動でする 方法ってどうするのでしょうか。

  • ログファイルからデータ呼び出し。

    ログファイル(例えば1.logという名前とします)の中身を呼び出し、それを現在表示されているcgiのフォーム内に 表示させるにはどのようにしたらいいのでしょうか? たとえば、クッキーみたいに <input type=text name=021118 value=***></input> とすればできるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • Excelで当番表を作成したい

    Excel2019使用 初心者です。 ネット上にある様々な回答を参考にし作成していますが、1つ問題が起きたのでご回答いただけますと幸いです。 現在、平日のみをローテーション化した当番表を作成しています。(ファイル添付) ・土日祝は月によって順番がバラバラなので手入力です。 ・祝日は別シートで「祝日」という名前で設定しています。 ・I11:J11のテーブルは「担当者表」という名前をつけています ・セルJ4~ 担当者のメンバー変更は頻繁に起こるため、毎月シート上で変更しています。 ・初日担当番号は手入力です。 ・条件付き書式で、その月に該当しない日程は表示しないように、また入力すべきセルが黄色に色がつくようにしています。 ・A4=N3-(N5-1) ・B4=A4+1 ・A5=IFS(MONTH(A4)<>$K$1,"",WORKDAY(A4-1,1,祝日)=A4,INDEX(担当者表[氏名],MOD(NETWORKDAYS($A$4-1,A4,祝日)+$N$1-$N$5,$N$6)+1),TRUE,"") 問題は、「1月と10月のみ、初日担当番号に指定した者ではなくその次の者から始まってしまう」ということです。要するに、1番(あさん)を指定しているにも関わらず、2番(いさん)から始まります。 1月と10月以外は問題なく動きます。 ズレてしまう二つの月は、月の始めが第一日曜日という共通点があり、それが理由ではないかと思うのですが…。 また、A5セルの+$N$1-$N$5,$N$6)部分が理解できていませんが、間違っていたとしても1月10月以外は正しく動くのでどうしたら良いのかが分かりません…。 ここまで読んでくださってありがとうございます。 不足している情報もあるかと存じますが、ご教示下さい。

  • ログファイルからキーワードを検出、何行目か返す。

    以前こちらでおなじような質問をして回答いただいたのですが、どうしても理解できないので再度質問させていただきます。 フォームで名前や件名などを入力してもらい、その入力データをログファイルへ入れます。 ログファイルは以下のような感じのものが何行も続いています。 NAME=hoge&TITLE=tatoeba&NAKAMI=konnnakanji&LOCALTIME=20030127094224= (LOCALTIMEだけは自動で入るようになっています。) その後で、このログファイルから任意の行を取り出したいのですが、削除されることもあるため○行目という値では意図するものが出てこない可能性もあるので、 LOCALTIMEで検索をしたいのです。 20030127094224と入れた場合、ログファイルの○行目、と判定するようなことをしたいのです。 どのようにしたらいいのかさっぱりわかりません。 よろしくお願いします。 #perlです。

    • ベストアンサー
    • CGI
  • 【PHP】 書込みされた事を知らせる為のアイコン表示

    私の理想のイメージは、abc.php ファイルの掲示板に書込み(新規・返信)されたら、zyx.php ファイルの方で その abc.php ファイルの掲示板で書込みされた事を知らせる為のマーク up.gif (アイコン)を、書き込まれた日から 24時間(1日)の間表示させたいのです。 ◆ log.txt ファイル(掲示板の書込みログ) 1,みかん君,2008/04/16 15:19:14 ・ 3,りんご君,2008/04/13 22:19:32 ・ ・ 6,ぶどう君,2008/04/11 08:19:48 ・ ・ 以下省略 【 log.txt ファイルの補助説明 】 ※ 「 , 」(カンマ)で区切りを付けてます。 ※ インデックス,名前,日付 と言う順に配列がなっています。 ※ log.txt ファイルは、上から最新順に書き込まれるようにしてあります。 ※ インデックス($no) 名前($name) 内容($date)と配列がなっています。 ◆ abc.php ファイル(掲示板ページ) $fp = fopen("log.txt","a"); flock($fp, LOCK_EX); $data = implode( "," , array($no,$name,$date."\n") ); fputs($fp,$data); flock($fp, LOCK_UN); fclose($fp); 【 log.txt ファイルの補助説明 】 ※ 掲示板での書き込み処理です。 ◆ zyx.php ファイル(up.gif (アイコン)を表示させたいページ) <? $files = file("log.txt"); $logdata = $files[0]; list($no,$name,$date) = explode( "," , $logdata); if($no != ){ } ?> ここまではやってみましたが、ここから、どのようにしたらよいのか分らないので教えて下さい? また、if で、どのように条件を定義してよいかも分りません。宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 書込みされた事を知らせる為のアイコン表示について

    私の理想のイメージは、abc.php ファイルの掲示板に書込み(新規・返信)されたら、zyx.php ファイルの方で その abc.php ファイルの掲示板で書込みされた事を知らせる為のマーク up.gif (アイコン)を、書き込まれた日から 24時間(1日)の間表示させたいのです。 ◆ log.txt ファイル(掲示板の書込みログ) 1,みかん君,2008/04/16 15:19:14 ・ 3,りんご君,2008/04/13 22:19:32 ・ ・ 6,ぶどう君,2008/04/11 08:19:48 ・ ・ 以下省略 【 log.txt ファイルの補助説明 】 ※ 「 , 」(カンマ)で区切りを付けてます。 ※ インデックス,名前,日付 と言う順に配列がなっています。 ※ log.txt ファイルは、上から最新順に書き込まれるようにしてあります。 ※ インデックス($no) 名前($name) 内容($date)と配列がなっています。 ◆ abc.php ファイル(掲示板ページ) $fp = fopen("log.txt","a"); flock($fp, LOCK_EX); $data = implode( "," , array($no,$name,$date."\n") ); fputs($fp,$data); flock($fp, LOCK_UN); fclose($fp); 【 log.txt ファイルの補助説明 】 ※ 掲示板での書き込み処理です。 ◆ zyx.php ファイル(up.gif (アイコン)を表示させたいページ) <? $files = file("log.txt"); $logdata = $files[0]; list($no,$name,$date) = explode( "," , $logdata); if($no != ){ } ?> ここまではやってみましたが、ここから、どのようにしたらよいのか分らないので教えて下さい? また、if で、どのように条件を定義してよいかも分りません。宜しくお願い致します。

    • 締切済み
    • PHP
  • Samurizeテレビ番組表について

    はじめまして、よぴたと申します。 先日侍始めたばかりの初心者なのですが、思うようにいかず四苦八苦しています。 今回お聞きしたいのは番組表の表示についてです。 まず現象は以下の通りです。 ・C:\Program Files\Samurize\Output\OnTV.txtと C:\Program Files\Samurize\Output\OnTVcatch.txtが更新されない。 ・ONTVJapan.vbsの更新時間30分と設定済。 ・テストは成功するのでアドレス間違いは認められず。 初心者故、皆目検討もつきません。 どうかお分かりになられる方がいらっしゃればと思い、投稿させていただきます。 以上、よろしくお願いいたします。

  • テキスト処理の速度の速い言語

    最大80MBまで増加するテキストファイルがあります。 あるアプリケーションのログファイルです。 最大80MBまで達します。 80MBまで達したら新しいファイルが作成され、 そこにログが出力されます。 このログファイルの中身を読み取り、 ある処理をして、計算結果や、必要な箇所を別のテキストファイルに 出力するプログラムを作成しました。言語はVBScriptです。 このプログラムを10分に一度実行する必要があります。 そこで問題になってしまったのが、処理時間です。 前回の処理が終わらないまま10分が経過して 次の処理が開始されてしまうのです。 特にまずいのがデータ量の多い期末や年度末です。 そこでVBScriptよりも速くテキスト処理を行える言語を教えて下さい。 BATでもJScriptでもPerlでもCでもC++でもJavaでも何でも良いです。 教えて下さい。 よろしくお願いします。