木構造の出力


 Text::Treeモジュールを使うと木構造のデータを出力することができます。
use strict;
use warnings;
use Text::Tree;

my $root = "top";
my @data = (
    ["A",
        ["Apple",
            ["Apricot"],
        ],
    ],
    ["B",
        ["Banana"],
    ],
    ["Number",
        ["40",
            ["55"],
        ],
        ["139",
            ["200"],
            ["210"],
        ],
        ["492"],
    ],
);

my $tree = Text::Tree->new($root, @data);

print $tree->layout("boxed");
print "\n";
print $tree->layout("center");
print "\n";
print $tree->layout("oval");
print "\n";
 このスクリプトを実行すると、以下のように出力されます。
                   +---+
                   |top|
                   +---+
    .--------.-------^-------.
   +-+      +-+           +------+
   |A|      |B|           |Number|
   +-+      +-+           +------+
    |        |      .--------+--------.
 +-----+  +------+ +--+    +---+    +---+
 |Apple|  |Banana| |40|    |139|    |492|
 +-----+  +------+ +--+    +---+    +---+
    |               |     .--^--.
+-------+          +--+ +---+ +---+
|Apricot|          |55| |200| |210|
+-------+          +--+ +---+ +---+

              top
   .------.----^-----.
   A      B        Number
   |      |    .-----+-----.
 Apple  Banana 40   139   492
   |           |   .-^-.
Apricot        55 200 210

                   .---.
                   |top|
                   `---'
    .--------.-------^-------.
   .-.      .-.           .------.
   |A|      |B|           |Number|
   `-'      `-'           `------'
    |        |      .--------+--------.
 .-----.  .------. .--.    .---.    .---.
 |Apple|  |Banana| |40|    |139|    |492|
 `-----'  `------' `--'    `---'    `---'
    |               |     .--^--.
.-------.          .--. .---. .---.
|Apricot|          |55| |200| |210|
`-------'          `--' `---' `---'

関連項目

表形式の出力