2014-09-15 5 views
1

Я написал программу omnimark для получения требуемых тегов в выходном файле. Но у меня есть проблема с форматом этих выходных данных. Так что я должен сделать, чтобы поставить ниже выходных данных в формат таблицы с использованием perl.Как мы можем отформатировать данные в формате таблицы, используя 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> 

ответ

2

Возможно использовать 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>        
+0

Miller: Так что, если вывод содержит это как во многих числах, тогда вы можете сказать, как это можно сделать. .. Ваша помощь высоко оценена ... – Praveen

+2

@Praveen вам нужно написать небольшой парсер, который отделяет ваш ввод в первом столбце, основной части текста и последней цифре. Затем вы можете передать эти данные в Text :: Table для форматирования. –

Смежные вопросы