http://www.perlmonks.org?node_id=369493

trammell has asked for the wisdom of the Perl Monks concerning the following question: (object-oriented programming)

For example, say I have a class 'Foo' that is used thusly:
use Foo; my $f = Foo->new(%args); my $g = $f->frobnicate;
but for some Very Good Reason, we want to be able to call it in a more procedural fashion:
use Foo 'frobnicate'; my $g = frobnicate($args);
Is there a good way of doing this? Is there a good reason not to do this?

Originally posted as a Categorized Question.