【问题标题】:How can we format the data into table format using perl我们如何使用 perl 将数据格式化为表格格式
【发布时间】:2014-11-08 14:39:53
【问题描述】:

我已经编写了一个omnimark程序来获取输出文件中所需的标签。但是我对这个输出数据的格式有疑问。那么我应该怎么做才能使用perl将下面的输出数据转换成表格格式。

Omnimark 程序的输出 - Perl 程序的输入:

2.01[1] <hst u="61130263" c="" r="" st="">
<title>Holmes v. Cheney
<dkt>5-2652
<dte>19620000
<ct>Ark
<refs>234 Ark 503, 352 SW2d 943
</hst>  9 

预期:

 2.01[1]    <hst u="61130263" c="" r="" st="">              9
            <title>Holmes v. Cheney
            <dkt>5-2652
            <dte>19620000
            <ct>Ark
            <refs>234 Ark 503, 352 SW2d 943
            </hst>  

【问题讨论】:

    标签: perl format


    【解决方案1】:

    也许用Text::Table:

    use strict;
    use warnings;
    
    use Text::Table;
    
    my $data = [
        "2.01[1]",
        qq{<hst u="61130263" c="" r="" st="">\n<title>Holmes v. Cheney\n<dkt>5-2652\n<dte>19620000\n<ct>Ark\n<refs>234 Ark 503, 352 SW2d 943\n</hst>},
        9,
    ];
    
    my $tb = Text::Table->new();
    $tb->load($data);
    print $tb;
    

    输出:

    2.01[1] <hst u="61130263" c="" r="" st=""> 9
            <title>Holmes v. Cheney             
            <dkt>5-2652                         
            <dte>19620000                       
            <ct>Ark                             
            <refs>234 Ark 503, 352 SW2d 943     
            </hst>                              
    

    【讨论】:

    • Miller :所以如果输出包含很多这样的内容,那么你能告诉我如何做到这一点。 .. 非常感谢您的帮助...
    • @Praveen 您需要编写一个小解析器,将您的输入分为第一列、正文主体和最后一位数字。然后,您可以将该数据传递到 Text::Table 进行格式化。
    猜你喜欢
    • 2015-06-25
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 2016-05-19
    • 2019-07-01
    相关资源
    最近更新 更多