以下に、Perlプログラム `MakeDOSMap.pl` の解析結果を Markdown 形式で記述します。

---

# MakeDOSMap.pl Documentation

## 1. プログラムの動作

`MakeDOSMap.pl` は、VASP（Vienna Ab initio Simulation Package）によって生成された計算結果を解析し、エネルギーと密度状態（DOS: Density of States）のデータを処理して、CSV形式の出力ファイルを生成するプログラムです。具体的には、以下の処理を行います。

- 指定されたディレクトリ内のサブディレクトリを探索し、`OUTCAR` ファイルから自由エネルギーを読み取ります。
- 各サブディレクトリ内の `DOS-up.csv` ファイルからエネルギーとDOSデータを読み取り、エネルギー範囲（`$Emin` から `$Emax`）に基づいてデータを正規化し、ログスケールで変換します。
- 処理したデータを `DOS-up.out.csv` と `Energy.out.csv` という2つのCSVファイルに出力します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このプログラムは以下の非標準ライブラリを使用しています。

- `MultiColumnData`
- `Crystal::VASP`

これらのライブラリはCPAN（Comprehensive Perl Archive Network）で提供されていない可能性があるため、特定のリポジトリや開発者から直接入手する必要があります。インストール方法は、通常は以下の手順に従います。

1. ライブラリのソースコードを入手します。
2. Perlのライブラリパスに配置します（例: `/home/tkamiya/bin/Perl/lib` や `d:/Programs/Perl/lib`）。
3. 必要に応じて、`use lib` ディレクティブでパスを指定します。

## 3. 必要な入力ファイル

- 各サブディレクトリに `SCF/OUTCAR` ファイルが存在する必要があります。
- 各サブディレクトリに `DOS/DOS-up.csv` ファイルが存在する必要があります。

## 4. 実行後に生成される出力ファイル

- `DOS-up.out.csv`: エネルギーと正規化されたDOSデータを含むCSVファイル。
- `Energy.out.csv`: 各サブディレクトリの自由エネルギーを含むCSVファイル。

## 5. コマンドラインでの使用例 (Usage)

```bash
perl MakeDOSMap.pl
```

このプログラムは、特定のコマンドライン引数を必要とせず、スクリプトが配置されているディレクトリ内のサブディレクトリを自動的に探索して処理を行います。