3

我正在开发一个主要是 Ruby on Rails 的项目。但是,我需要在这个项目中生成和解析 Excel 文件(我知道,我知道......),所以我一直在使用 Perl 的 Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel 效果很好。但是,将这种 Perl 的使用与更大的 Ruby on Rails 应用程序结合起来的最佳方式是什么?用反引号调用 Perl 脚本是否符合犹太教规?对我来说这感觉有点 hacky,但如果这是唯一(或最好)的方式,那么这就是我要做的。我想联系一下,看看是否有其他人有任何建议或建议。

谢谢!

4

3 回答 3

5

还有电子表格 gem,虽然我从来没有用它来写作。

我不认为使用反引号或 有任何本质上的错误%x(),尽管我可能会将 Perl 的东西公开为服务以使其更通用。不过,可能有点矫枉过正。

于 2012-06-02T14:11:16.423 回答
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;
}
于 2012-06-03T02:31:56.913 回答
1

我不知道它支持多少第三方的东西,但是有ruby​​-perl项目:在 Ruby 中嵌入 Perl。

于 2012-06-03T04:33:47.323 回答