我是一个Perl新手,尽管我设法将一些代码组合在一起,但是当我需要执行数组操作时,我通常会放慢速度 - 显然还不够熟悉。目前,我正在编写一个查询mySQL数据库的Perl代码,然后使用LaTeX :: Table包生成一个LaTeX表。在这个过程中我需要操作数组,我正在寻求建议,以提高我对在Perl中处理数组的理解。
在代码的第一部分中,我使用子例程查询mySQL数据库:
public void updateData(String parameters) {
try {
this.stmt.executeUpdate(parameters);
this.setChanged();
this.notifyObservers();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
我有每月和每周查询的模拟代码。上面的输出看起来如下:
.my_bg_img {
background-image: url('./your_image.jpg');
background-size: cover;
background-repeat: no-repeat;
height: 100%;
widht: auto;
}
在这个阶段,我希望为数组添加和元素以获得以下内容:
my @stashYear = queryRecent($Ticker,'YEAR');
print "Last Year:\t";
### Dump the stash contents!
foreach my $array_ref ( @stashYear ) {
print "@$array_ref\n";
}
我尝试了各种各样的方法,但直到现在我都没有成功。我一直玩弄不合时宜,但我的尝试都没有产生令人满意的结果。
在代码的其余部分中,我组合了数组:
bash-3.2$ ./test.pl DG.PA
Last Year: 2015 45.935 62.6 43.4 59.14 256
Last Month: 2016-03 63.9 66.69 62.36 65.47 21
Last Week: 2016-15 64.96 66.24 64 65.95 5
bash-3.2$
然后我将它传递给LaTeX :: Table以生成所需的表:
Year 2015 45.935 62.6 43.4 59.14 256
Month 2016-03 63.9 66.69 62.36 65.47 21
Week 2016-15 64.96 66.24 64 65.95 5
获得预期的输出:
#Combine Year, Month and Week Array into one
my @stashRecent = @stashYear;
push (@stashRecent, @stashMonth);
push (@stashRecent, @stashWeek);
#Convert Array in Latex::Table compatible format
my $recentData = \@stashRecent;
尽管我设法将数组合并并将它们转换为LaTeX :: Table所需的格式,但我没有成功添加元素(年,月和周),如上所述。
任何反馈,以促使我前进和提高我的知识将受到高度赞赏。与此同时,我感谢所有想出这个想法的人,并帮助新手变得不那么新手。
答案 0 :(得分:1)
我不确定我是否完全理解了这个问题,但似乎以下内容应该可以完成这项工作:
unshift @stashYear, 'Year';
unshift @stashMonth, 'Month';
unshift @stashWeek, 'Week';