我想创建一个程序,询问用户一些输入(我将其保存在数组中),然后创建一个表格,将这些输入作为列名称,但我不知道如何动态创建列
我目前正在使用Text::Table模块,使用此模块实现此目标会很棒。
这是我将从用户输入获得的示例数组:
my @columns = ("TIME", "P1", "P2", "B1", "P3");
这就是我手动制作表格的方式:
my $table = Text::Table->new(
{title => 'TIME', align_title => 'center'},
{title => ' P1 ', align_title => 'center'},
{title => ' P2 ', align_title => 'center'},
{title => ' B1 ', align_title => 'center'},
{title => ' P3 ', align_title => 'center'}
);
答案 0 :(得分:2)
你有一个字符串数组;将其转换为hashrefs数组,其中每个hashref为column spec,您可以使用map
:
use Text::Table;
my @columns = ("TIME", "P1", "P2", "B1", "P3");
my @col_spec = map { { title => $_, align_title => 'center' } } @columns;
my $table = Text::Table->new(@col_spec);