perlを使用して辞書プログラムを実装する機能を作りたいのですが、メインプログラムを作ってからその先をどうすればいいのかわかりません。
print"1.新規作成 2.単語の登録 3.単語の検索 4.辞書一覧 5.単語の削除 6.終了:\n";
$type =<STDIN>;
chomp($type);
if ($type == 1) {
new create;
} elsif ($type == 2) {
entry;
} elsif ($type == 3) {
search;
} elsif ($type == 4) {
list;
} elsif ($type == 5) {
deletion;
} elsif ($type == 6) {
exit(0);
}
この後はどのように作っていったらいいのでしょうか、教えて下さい。
No.1ベストアンサー
- 回答日時:
ハッシュを使いましょう。
終了する時に、ファイルに保存するようにしないといけないですね。
No.2
- 回答日時:
ハッシュとデータベースを結び付ける方法もあるのですが、もうちょっとわかりやすい例として、
例えば、辞書ファイルの構造を、
キーワード\t(タブ)対応語
みたいな構造でテキストファイルで作ったとすると、
例えば、
dic.datファイル
寝る(-_-)゜zzz…
焦る(^-^;
怒るヾ(`д´)ノ"
笑う(^ー^)
泣く(;´д⊂)
#ハッシュへの読み込み
%Dictionary=();#初期化
open(DIC, "<dic.dat");
while(<DIC>){
($key, $data)=split;
$Dictionary{ $key } = $data;
}
close(DIC);
#単語の登録
%Dictionary{ '単語' } = '対応語';
#単語の検索
print "$keyは、%Dictionary{$key}です\n";
#辞書一覧
while(($key, $data)=each(%Dictionary)){
print "$key => $data\n";
}
#単語の削除
delete %Dictionary{ '単語' };
#ファイルへの出力
open(DIC, ">dic.dat");
while(($key, $data)=each(%Dictionary)){
print DIC "$key\t$data\n";
}
close(DIC);
のような感じでやります。
細部は、そちらの都合の良いように作ればいいと思います。
とりあえずは、上記の断片をテストするようなプログラムを作って、どんな動作になるか確かめてみればいいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP php ログイン 1 2022/11/01 00:24
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlで特定行から特定行までを...
-
batファイルでrenameができませ...
-
エラー 'dir.h' : No such fi...
-
HTMLのフォームで画像と文...
-
ExcelをCSV書き出す場合のシー...
-
awkスクリプトでダブルクォーテ...
-
Perlの変数に文字数制限(容量...
-
readdir()で得られるファイル・...
-
ファイル全てを .xlsm に変更し...
-
while(<ハンドラ>) {} で行数を...
-
パスから最後のディレクトリだ...
-
テキストデータから指定した1...
-
一定時間が経過したフォルダの削除
-
htaccessで特定のディレクトリ...
-
ReadLineでの読み出し行を指定する
-
1行がやたら長いテキストをバッ...
-
while文がうまく動かない
-
chdirがうまくできない
-
openした後、closeしないでプロ...
-
VBAでタブ区切りテキストの保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perlで特定行から特定行までを...
-
perlでcsvファイルを読む(ダブ...
-
CSVデータの編集の際の重複チェ...
-
CSVファイルのデータの行数を取...
-
Perlの初心者です。2重ループ...
-
CSVファイルをperlプログラムで...
-
Perlで空白行を削除
-
MATLAB std::exceptionエラー
-
Argument "\\\\n" isn't numeri...
-
cgiのログの書き方
-
Perlでの重複要素カウントにつ...
-
バッチファイルの作り方(CSV→...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
DOSコマンドで、標準出力を出力...
-
ExcelをCSV書き出す場合のシー...
-
openした後、closeしないでプロ...
-
close()で例外が投げられる理由
-
batファイルでrenameができませ...
-
VBAでCSVファイルを途中行まで...
おすすめ情報