Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 730329
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T06:53:58+00:00 2026-05-14T06:53:58+00:00

There is a team working on acceptance testing X11 GUI application in our company,

  • 0

There is a team working on acceptance testing X11 GUI application in our company, and they created a monstrous acceptance testing framework that drives the GUI as well as running scenarios.

The framework is written using Perl 5, and scenario files look more like very complex Perl programs (thousands of lines long with procedural-programming style) than acceptance tests.

I recently learned Ruby’s Cucumber, and generally have been using Ruby for quite a lot of time. But unfortunately I can’t just shove Ruby to replace Perl because the people who are writing all of this don’t know Ruby and it’s quite certain that they wont want “this” kind of interruption.

So to bring Ruby’s Cucumber a bit closer to their work, I rewrote it using Perl 5. Unfortunately I am really not a Perl programmer, and would love to get a code review and to hear suggestions from people who both know Perl and Cucumber.

Hi Perl/Cucumber StackOverflow users – please help me create this “open source” attempt to re-create Cucumber for Perl! I would love to hear your comments and will accept any acceptable help.

The minimal source code is here:

http://github.com/kesor/p5-cucumber

Thank you for your attention.

For those not familiar with cucumber – please take just one small moment to take a look at this one small little page: http://cukes.info/

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T06:53:58+00:00Added an answer on May 14, 2026 at 6:53 am

    Can you review my Perl rewrite of
    Cucumber?

    Answer: Yes.

    I’ve read through the github code you posted. It looks pretty good.

    I’m curious about the following snippet from Parser::Parser.yp::ERROR. Why did you chose to use “and do {}” over “if( ){ }”? Style? scoping? other?

      exists $parser->YYData->{ERRMSG}
      and do {
        print $parser->YYData->{ERRMSG};
        delete $parser->YYData->{ERRMSG};
        return;
      };
    

    I haven’t used cucumber and am still trying to wrap my head around the usage model. How would someone go about verifying/running your calculator example?

    If you plan to release your code to CPAN (and you should), then you’ll want to bundle this git source into an installable tarball. You’ll want to include one of the module installing tools: ExtUtils::MakeMaker, Module::Build, etc. I’ve recently started using Dist::Zilla, and am really happy with it. It got me over the activation energy of releasing my first cpan module.

    20 second tour of Dist::Zilla:

    1. download and install Dist::Zilla
      and its requirements (there are
      many, as it’s a developer only tool)
    2. create a dist.ini file in the top
      level of your package ( ‘dzil new MyPackage’ )
    3. run
      ‘dzil test’, ‘dzil build’, and ‘dzil
      release’,to test, (build and test),
      (build, test and release)

    See the Dist::Zilla::Tutorial

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

There are some rumors floating around that the team at my company will soon
Is anyone out there using Team Foundation Server within a team that is geographically
are there any free Team Foundation Server sites we can use for our private
There is someone in my team that swears by using some kind of GVim
Is there an IE6/PNG fix that is officially developed by the jQuery team? If
Are there any methods/systems that you have in place to incentivize your development team
Our team is looking to switch from using mbunit to mstest, but there appears
We're a small dev team working with some GLSL that may be too large
I have a working folder that's synced to a team server. I was wondering
In Team Foundation Server is there a way to have work items in one

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.