嵌入在脚本中的perl csv数据

时间:2013-08-05 13:14:44

标签: perl csv

我有一个perl脚本,我用它来生成文件。我想嵌入一个查找表并读入一个哈希或数组。

示例:

__DATA__
a,0,0x0
p,0,0x8
s,0,0x6
pm,0,0x1fc0
pm,1,0x1f80
pm,2,0x1f00

我已经使用Text :: CSV来读取CSV文件。如何将数据读入哈希?如果它更容易,我可以添加标题行。

2 个答案:

答案 0 :(得分:0)

直接来自documentation

  

<强> getline_hr

     

getline_hr()和column_names()方法一起工作以允许   您将行返回为hashrefs。你必须调用column_names()   首先声明你的列名。

$csv->column_names (qw( code name price description ));
$hr = $csv->getline_hr ($io);
print "Price for $hr->{name} is $hr->{price} EUR\n";
  如果在column_names()之前调用,

getline_hr()将会变暗。

     

<强> getline_hr_all

$arrayref = $csv->getline_hr_all ($io);
$arrayref = $csv->getline_hr_all ($io, $offset);
$arrayref = $csv->getline_hr_all ($io, $offset, $length);
  

这将返回对getline_hr($ io)结果列表的引用。在   这个调用,keep_meta_info被禁用。

答案 1 :(得分:0)

特殊文件句柄DATA__DATA__行之后指向您的脚本。如果需要将其用作子例程或方法的参数,请使用GLOB sigil:

subroutine(*DATA);