我正在开发一个主要是Ruby on Rails的项目。但是,我需要在这个项目中生成和解析Excel文件(我知道,我知道......),所以我一直在使用Perl的Spreadsheet :: WriteExcel和Spreadsheet :: ParseExcel。但是,将这种Perl与更大的Ruby on Rails应用程序结合使用的最佳方法是什么?用反引号调用Perl脚本是另一种解决方法吗?对我来说这感觉有点哈哈,但如果这是唯一的(或最好的)方式,那就是我要做的。我想伸出手,看看是否有其他人有一些建议或建议。
谢谢!
答案 0 :(得分:5)
还有speadsheet gem,虽然我从来没有用它来写作。
我认为使用反引号或%x()
并不存在任何本质上的错误,尽管我可能会将Perl作为服务公开,以使其更具通用性。但可能有点矫枉过正。
答案 1 :(得分:3)
您可能会考虑使用Perl webapp框架(如Mojolicious)创建一个简单的RESTful应用程序。您的RoR应用程序可以简单地调用Perl应用程序并获取一些JSON。
这是一个非常简单的应用程序,当然你的get_data
会做一些事情,我只需要它返回一个简单的哈希。一旦安装了Mojolicious,您就可以使用其中一个内置服务器运行它,例如:morbo myapp.pl
(假设以下内容保存为myapp.pl
)
#!/usr/bin/env perl
use Mojolicious::Lite;
get '/:query' => sub {
my $self = shift;
my $query = $self->param( 'query' );
my $data = get_data( $query );
$self->render( json => $data );
};
app->start;
sub get_data {
my $query = shift;
# do something here, like parse some excel file
# I will just make some silly data
my $data = { $query => $query };
return $data;
}
答案 2 :(得分:1)
我不知道它支持多少第三方内容,但有ruby-perl项目:Ruby中的嵌入式Perl。