【问题标题】:Writing an app with Perl and Ruby?用 Perl 和 Ruby 编写应用程序?
【发布时间】:2012-06-03 12:33:47
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: ruby-on-rails perl


    【解决方案1】:

    还有speadsheet gem,虽然我从来没有用它来写作。

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

    【讨论】:

    • 感谢您指出宝石!我会看看。我认为服务路线可能是这个特定项目的最佳方式,即使它可能是矫枉过正。谢谢!
    【解决方案2】:

    您可能会考虑使用 Perl webapp 框架制作一个简单的 RESTful 应用程序,例如 Mojolicious。您的 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;
    }
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2013-07-31
        • 1970-01-01
        • 2010-11-07
        • 2012-08-21
        • 1970-01-01
        • 2010-10-25
        • 1970-01-01
        • 2013-05-13
        • 1970-01-01
        相关资源
        最近更新 更多