in reply to Re: extract all subroutines from .pm's and include in .pl
in thread extract all subroutines from .pm's and include in .pl

You don't even need the BEGIN block:
#!/usr/bin/perl use strict; use warnings; my $foo = Inline::Foo->new('Hello, world!'); $foo->display; package Inline::Foo; sub new { my $class = shift; return bless { text => shift }, $class; } sub display { my $text = $_[0]->{text}; print "$text\n"; }

Replies are listed 'Best First'.
Re^3: extract all subroutines from .pm's and include in .pl
by hangon (Deacon) on May 19, 2009 at 17:17 UTC
    You don't even need the BEGIN block:

    Maybe not in the examples shown, but what if Inline::Foo has a package global, or has some initialization code outside of the subs? Then the package must be either moved to the top of the program or enclosed in a BEGIN block. Also, a BEGIN block more closely simulates the behavior of a module that has been used, and I find that it helps visually identify an inlined class.

    As for Inline::Module, I'll generally avoid modules that have virtually no documentation. However the example from Anonymous Monk clears it up a bit, so maybe it's worth a try.

Re^3: extract all subroutines from .pm's and include in .pl
by Anonymous Monk on May 19, 2009 at 10:44 UTC