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 637687
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T20:39:04+00:00 2026-05-13T20:39:04+00:00

How do I write a test in Perl to see if my file was

  • 0

How do I write a test in Perl to see if my file was run directly or imported from some other source? I’d like to do this to make it easy to bundle everything in one file but still write unit tests against the functions. My idea is to have something like this:

if (running_directly()) {
  main();
}

def main {
  this();
  that();
}

def this {
  # ...
}

def that {
  # ...
}

Then in a separate perl script I can load the original file and call this & that as unit tests.

I remember seeing this done before, but I can’t remember how to do it. I’d like to avoid testing $0 against some known value, because that means the user can’t rename the script.

  • 1 1 Answer
  • 0 Views
  • 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-13T20:39:04+00:00Added an answer on May 13, 2026 at 8:39 pm

    First of all, Perl doesn’t have a def keyword. 🙂

    But you can check if a module is being executed directly or included elsewhere by doing this:

    __PACKAGE__->main unless caller;
    

    Since caller won’t return anything if you’re at the top of the call stack, but will if you’re inside a use or require.

    Some people have assigned the dreadful neologism “modulino” to this pattern, so use that as Google fuel.

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

Sidebar

Related Questions

I see lots of TDD practitioners following this cycle: 1) Write your test as
I am wondering should I write unit test for everything. There are some classes
I'm new to unit testing and nUnit (2.48). I'd like to write a test
I need to write test cases for my application. I've chosen NUnit. Please let
Do you write one test per function/method, with multiple checks in the test, or
I am trying to write a unit test for an action method which calls
How does one write a unit test that fails only if a function doesn't
I'm trying to write a Selenium test for a web page that uses an
I need to write a unit test for a method that will print a
How do I write a unit test for a method that use an external

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.