我有一个文件,其中每行都有标签。 例如:
<stock_name>Abc Inc.</stock_name>
<stock_value>123.456</stock_value>
........
我有一个数据库表,其中有记录告诉股票的(新)股票价值。
数据库表有两列:stock_name and stock_value
我需要扫描此数据库表以及表中的每个stock_name,我需要将<stock_value>xxx</stock_value>
替换为<stock_value>yyy</stock_value>
,而不是文件中的相应<stock_name>
(xxx =现有stock_value在文件中; yyy =从特定股票的数据库中检索的新stock_value)。有人可以帮我吗?
PS:这不是作业。我正在编写一个perl脚本来修改文件。 感谢您的帮助。
答案 0 :(得分:0)
如果您的标记保证为<tag>value</tag>
,那么这将使用标记名称的哈希值替换值:
my %table = (
stock_name => 'xxx',
stock_value => 'yyy',
);
$file = s/<([^>\/]*)>[^<]*/<$1>$table{$1}/g;