我有一个函数可以将 Excel 数据提取到哈希数组中,如下所示:
sub set_exceldata {
my $excel_file_or = '.\Excel\ORDERS.csv';
if (-e $excel_file_or) {
open (EXCEL_OR, $excel_file_or) || die("\n can't open $excel_file_or: $!\n");
while () {
chomp;
my ( $id, $date, $product, $batchid, $address, $cost ) = split ",";
my %a = ( id => $id
, date => $date
, product => $product
, batchid => $batchid
, address => $address
, cost => $cost
);
push ( @array_data_or, \%a );
}
close EXCEL_OR;
}
}
填充哈希数组就可以了。然而,困难的部分是在数组中搜索特定项(哈希)。我似乎无法找到 id 或 21、batchid 为 15 或成本 > 20 美元等的项目。
我将如何实施这样的搜索工具?
谢谢大家,
凭借的力量grep http://perldoc.perl.org/functions/grep.html
my @matching_items = grep {
$_->{id} == 21
} @array_data_or;
如果您知道只会退回一件商品,您可以这样做:
my ($item) = grep {
$_->{id} == 21
} @array_data_or;
(未经测试,我已经有一段时间没有写其中的一个了,但这应该可行)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)