我有一个perl脚本,我用它来生成文件。我想嵌入一个查找表并读入一个哈希或数组。
示例:
__DATA__
a,0,0x0
p,0,0x8
s,0,0x6
pm,0,0x1fc0
pm,1,0x1f80
pm,2,0x1f00
我已经使用Text :: CSV来读取CSV文件。如何将数据读入哈希?如果它更容易,我可以添加标题行。
答案 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);