use MyClass;をuse Test::MyClass;
に変えてみましたが
エラーの変えたヶ所で赤線が現れています。

吹き出るエラーメッセージは
Test/MyClass.pm did not return a true value at - line 3.
BEGIN failed--compilation aborted - line 3.
です。
メソッドでtrueを返さないと?
ということはMyClass::new()メソッドで
戻り値としてreturn TRUE;
と書けばよいと。

以下のように書き換えてみましたが全然ダメですよ。
sub new {
print "Hello world!!\n";
my $pkg = shift;
my $hash = {
name => shift,
weight => shift
};
bless $hash, $pkg;
return TRUE;
}

いったいこれは・・・・・・・