ChrisO wrote:

> <Sigh> Yep.  Which is one of the reasons Ruby is appealing to me.  It's 
> A LOT OF STINKING WORK to create even the simplest Perl OO module, I 
> have to admit.  Versus:
> 
> class Foo
>    attr_reader :bar, :boat
> 
>    def initialize( bar, boat )
>       @bar, @boat = bar, boat
>    end
> 
>    def concat
>       @bar + @boat
>    end
> end
> 
> foo = Foo.new
> p foo.concat
> p foo.bar
> p foo.boat
> 
> Wow.  And you have accessors and everything right there.  In Perl, the 
> above is easily 10-20 lines of code and the less lines, the more 
> ambigious it would be.  The above Ruby is just plain nice.
> 

Should have been:

foo = Foo.new( "bar", "boat" )

Foo.initialize expects args passed.  They were not spiked out with 
defaults.  As in:

def initialize( bar="bar", boat="boat" )
    @bar, @boat = bar, boat
end

I'm tempted to type in the required Perl equivalent code here for the 
Foo class above for contrast, only no one here needs convincing.  I'm 
still shaking my head.  I'm certainly pretty much convinced.

-ceo