使用PERL自动增加ID生成

时间:2014-11-24 07:30:32

标签: perl

我坚持使用XML元素的生成ID(如果它们也没有定义)。 案子: 有几个XML文档具有相同的结构。我应该找到所有“表格”元素,并在其中添加ID,例如“section-table-XXXX”那里有“XXXX” - 从0001开始自动生成的数字,并且对于找到的每个“表格”增加。 最好的方法是使用Perl,但我不太了解Perl使用它。 请帮忙。 非常感谢!

1 个答案:

答案 0 :(得分:0)

保留一个柜台

$i = 0;

每次找到一个表(在for或while循环中)都执行增量步骤并使用它来声明表的名称。

$i++; 
$table_name = "section-table-$i"

要获得您的4位数ID,请使用sprintf。 http://perldoc.perl.org/functions/sprintf.html

$i++; 
$table_id = sprintf<%04s> ,11;
$table_name = "section-table-$table_id";

请注意双引号。

printf用于打印由给定模式格式化的字符串 sprintf返回打印的字符串而不是打印出来

sprintf和printf非常有用。你应该检查一下。 (虽然perldoc很复杂而且凌乱)

%04s表示返回一个基于长度为4个字符的字符串,并将其填充为0作为默认值。

另一个例子:

perl -e '$x = "world"; $z=sprintf<"hello\t%s">, $x; print $z'

将打印“hello \ tworld”

玩转。它真的很有用。 如果您需要更多帮助,请告诉我

干杯