用Perl和Ruby编写应用程序?

时间:2012-06-02 14:05:48

标签: ruby-on-rails perl

我正在开发一个主要是Ruby on Rails的项目。但是,我需要在这个项目中生成和解析Excel文件(我知道,我知道......),所以我一直在使用Perl的Spreadsheet :: WriteExcel和Spreadsheet :: ParseExcel。但是,将这种Perl与更大的Ruby on Rails应用程序结合使用的最佳方法是什么?用反引号调用Perl脚本是另一种解决方法吗?对我来说这感觉有点哈哈,但如果这是唯一的(或最好的)方式,那就是我要做的。我想伸出手,看看是否有其他人有一些建议或建议。

谢谢!

3 个答案:

答案 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。