```markdown
# ExtractHybridFunctionalBand.pl Documentation

## 1. プログラムの動作

`ExtractHybridFunctionalBand.pl` は、VASP（Vienna Ab initio Simulation Package）で生成されたバンド構造データを処理するためのPerlスクリプトです。このプログラムは、`KPOINTS`ファイルと`EIGENVAL`ファイルを読み込み、特定の条件に基づいて`EIGENVAL`ファイルをフィルタリングし、新しいファイルとして出力します。具体的には、`KPOINTS`ファイル内の重みが0のk点に対応するデータのみを`EIGENVAL`ファイルから抽出し、新しい`EIGENVAL`ファイルを生成します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法

このスクリプトは以下の非標準ライブラリを使用しています：

- `Deps`
- `Utils`
- `JFile`
- `Crystal::VASP`

これらのライブラリは、PerlのCPAN（Comprehensive Perl Archive Network）には存在しないカスタムライブラリである可能性があります。したがって、これらのライブラリはスクリプトと同じディレクトリ、または指定されたパス（例: `d:/Programs/Perl/lib`）に配置する必要があります。

## 3. 必要な入力ファイル

- `KPOINTS`: VASPのk点情報を含むファイル。スクリプトの引数として指定するか、デフォルトで`KPOINTS`という名前のファイルを使用します。
- `EIGENVAL`: VASPのバンド構造データを含むファイル。`KPOINTS`ファイルのベース名に基づいて自動的に決定されます。

## 4. 実行後に生成される出力ファイル

- `EIGENVAL.extract`: フィルタリングされたバンド構造データを含むファイル。元の`EIGENVAL`ファイルの拡張子を`.extract`に置き換えた名前で出力されます。

## 5. コマンドラインでの使用例 (Usage)

```bash
perl ExtractHybridFunctionalBand.pl [BaseFileName]
```

- `BaseFileName`: オプションの引数で、`KPOINTS`ファイルのベース名を指定します。指定しない場合は、デフォルトで`KPOINTS`という名前のファイルを使用します。

### 使用例

```bash
perl ExtractHybridFunctionalBand.pl KPOINTS
```

このコマンドは、`KPOINTS`という名前のファイルを基にして、対応する`EIGENVAL`ファイルを処理し、`EIGENVAL.extract`という名前の出力ファイルを生成します。
```