jodv has asked for the wisdom of the Perl Monks concerning the following question:

Hello PerlMonks, I'm trying to go beyond my little sysadmin scripts and do some OO stuff -- as well as using packages instead of cramming everything into a script. So, I just wanted to make a simple class and then use its methods in a script. I read through and followed jreades' fine tutorial and went to do my own. My package lives at /usr/lib/perl5/vendor_perl/5.10.0/Hosting/Server.pm So, the first thing my test script does is:
#!/usr/bin/perl use Hosting::Server; use warnings; my $myserv = new Server;
But Perl complains: Can't locate object method "new" via package "Server" (perhaps you forgot to load "Server"?) at host_try.pl line 6. Here is the beginning of Server.pm, including the 'new' sub:
package Hosting::Server; use strict; use Switch; sub new { my $class = shift; my $self = { "Name" => "Not Set", "IP" => "Not Set", "OS" => "Not Set", "Location" => "Not Set" }; return bless $self, $class; }
Obviously, I'm doing something wrong. Can anyone point me in the right direction?

Replies are listed 'Best First'.
Re: Making a Package -- Can't locate method
by Lawliet (Curate) on Feb 06, 2009 at 20:32 UTC

    Try my $myserv = new Hosting::Server; Or, for that matter, my $myserv = Hosting::Server->new();

    And you didn't even know bears could type.

      Yep. That's got it. I figure my first post on here should be something simple and stupid like that :) Thanks!