diff --git a/compiler/cpp/src/generate/t_perl_generator.cc b/compiler/cpp/src/generate/t_perl_generator.cc
index 4d846c6..737dce9 100644
--- a/compiler/cpp/src/generate/t_perl_generator.cc
+++ b/compiler/cpp/src/generate/t_perl_generator.cc
@@ -184,6 +184,17 @@
     return result;
   }
 
+  std::string get_namespace_out_dir() {
+    std::string outdir = get_out_dir();
+    std::list<std::string> dirs;
+    perl_namespace_dirs(program_, dirs);
+    std::list<std::string>::iterator it;
+    for (it = dirs.begin(); it != dirs.end(); it++) {
+      outdir += *it + "/";
+    }
+    return outdir;
+  }
+
  private:
 
   /**
@@ -275,7 +286,7 @@
  * @param tenum The enumeration
  */
 void t_perl_generator::generate_enum(t_enum* tenum) {
-  f_types_ << "package "<<tenum->get_name()<<";"<<endl;
+  f_types_ << "package " << perl_namespace(program_) <<tenum->get_name()<<";"<<endl;
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
@@ -448,6 +459,7 @@
   }
 
   //Create simple acessor methods
+  out << "use Class::Accessor;\n";
   out << "use base('Class::Accessor');\n";
 
   if (members.size() > 0) {
@@ -656,7 +668,7 @@
  * @param tservice The service definition
  */
 void t_perl_generator::generate_service(t_service* tservice) {
-  string f_service_name = get_out_dir()+service_name_+".pm";
+  string f_service_name = get_namespace_out_dir()+service_name_+".pm";
   f_service_.open(f_service_name.c_str());
 
   f_service_ <<
@@ -667,9 +679,10 @@
   f_service_ <<
     "use " << perl_namespace(tservice->get_program()) << "Types;" << endl;
 
-  if (tservice->get_extends() != NULL) {
+  t_service* extends_s = tservice->get_extends();
+  if (extends_s != NULL) {
     f_service_ <<
-      "use " << tservice->get_extends()->get_name() << ";" << endl;
+      "use " << perl_namespace(extends_s->get_program()) << extends_s->get_name() << ";" << endl;
   }
 
   f_service_ <<
@@ -699,8 +712,9 @@
 
   string extends = "";
   string extends_processor = "";
-  if (tservice->get_extends() != NULL) {
-    extends = tservice->get_extends()->get_name();
+  t_service* extends_s = tservice->get_extends();
+  if (extends_s != NULL) {
+    extends = perl_namespace(extends_s->get_program()) + extends_s->get_name();
     extends_processor = "use base('" + extends + "Processor');";
   }
 
@@ -708,7 +722,7 @@
 
   // Generate the header portion
   f_service_ <<
-      "package " << service_name_ << "Processor;" << endl << extends_processor << endl;
+      "package " << perl_namespace(program_) << service_name_ << "Processor;" << endl << extends_processor << endl;
 
 
   if (extends.empty()) {
@@ -937,15 +951,14 @@
  * @param tservice The service to generate a header definition for
  */
 void t_perl_generator::generate_service_interface(t_service* tservice) {
-  string extends = "";
   string extends_if = "";
-  if (tservice->get_extends() != NULL) {
-    extends = "use base('" + tservice->get_extends()->get_name() + "');";
-    extends_if = "use base('" + tservice->get_extends()->get_name() + "If');";
+  t_service* extends_s = tservice->get_extends();
+  if (extends_s != NULL) {
+    extends_if = "use base('" + perl_namespace(extends_s->get_program()) + extends_s->get_name() + "If');";
   }
 
   f_service_ <<
-    "package " << service_name_ << "If;"<<endl<<
+    "package " << perl_namespace(program_) << service_name_ << "If;"<<endl<<
     extends_if<<endl;
 
 
@@ -966,12 +979,13 @@
 void t_perl_generator::generate_service_rest(t_service* tservice) {
   string extends = "";
   string extends_if = "";
-  if (tservice->get_extends() != NULL) {
-    extends    =  tservice->get_extends()->get_name();
-    extends_if = "use base('" + tservice->get_extends()->get_name() + "Rest');";
+  t_service* extends_s = tservice->get_extends();
+  if (extends_s != NULL) {
+    extends    =  extends_s->get_name();
+    extends_if = "use base('" + perl_namespace(extends_s->get_program()) + extends_s->get_name() + "Rest');";
   }
   f_service_ <<
-    "package " << service_name_ << "Rest;"<<endl<<
+    "package " << perl_namespace(program_) << service_name_ << "Rest;"<<endl<<
     extends_if << endl;
 
 
@@ -1037,17 +1051,18 @@
 void t_perl_generator::generate_service_client(t_service* tservice) {
   string extends = "";
   string extends_client = "";
-  if (tservice->get_extends() != NULL) {
-    extends = tservice->get_extends()->get_name();
+  t_service* extends_s = tservice->get_extends();
+  if (extends_s != NULL) {
+    extends = perl_namespace(extends_s->get_program()) + extends_s->get_name();
     extends_client = "use base('" + extends + "Client');";
   }
 
   f_service_ <<
-      "package " << service_name_ << "Client;"<<endl;
+      "package " << perl_namespace(program_) << service_name_ << "Client;"<<endl;
 
   f_service_ <<
       extends_client << endl <<
-      "use base('" << service_name_ << "If');" << endl;
+      "use base('" << perl_namespace(program_) << service_name_ << "If');" << endl;
 
   // Constructor function
   f_service_ << "sub new {"<<endl;
diff --git a/test/perl/Makefile b/test/perl/Makefile
index 5703c3c..2ca39e2 100644
--- a/test/perl/Makefile
+++ b/test/perl/Makefile
@@ -10,7 +10,7 @@
 THRIFT = ../../compiler/cpp/thrift
 
 all: ../ThriftTest.thrift
-	$(THRIFT) -perl ../ThriftTest.thrift
+	$(THRIFT) --gen perl ../ThriftTest.thrift
 
 clean:
 	$(RM) -r gen-perl
diff --git a/test/perl/TestClient.pl b/test/perl/TestClient.pl
index 82e8320..ef5ff91 100644
--- a/test/perl/TestClient.pl
+++ b/test/perl/TestClient.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 
 require 5.6.0;
 use strict;
@@ -7,14 +7,14 @@
 use Time::HiRes qw(gettimeofday);
 
 use lib '../../lib/perl/lib';
-use lib '../gen-perl';
+use lib 'gen-perl';
 
 use Thrift;
 use Thrift::BinaryProtocol;
 use Thrift::Socket;
 use Thrift::BufferedTransport;
 
-use ThriftTest;
+use ThriftTest::ThriftTest;
 use ThriftTest::Types;
 
 $|++;
@@ -28,7 +28,7 @@
 my $bufferedSocket = new Thrift::BufferedTransport($socket, 1024, 1024);
 my $transport = $bufferedSocket;
 my $protocol = new Thrift::BinaryProtocol($transport);
-my $testClient = new ThriftTestClient($protocol);
+my $testClient = new ThriftTest::ThriftTestClient($protocol);
 
 eval{
 $transport->open();
@@ -177,23 +177,23 @@
 # ENUM TEST
 #
 print("testEnum(ONE)");
-my $ret = $testClient->testEnum(Numberz::ONE);
+my $ret = $testClient->testEnum(ThriftTest::Numberz::ONE);
 print(" = $ret\n");
 
 print("testEnum(TWO)");
-$ret = $testClient->testEnum(Numberz::TWO);
+$ret = $testClient->testEnum(ThriftTest::Numberz::TWO);
 print(" = $ret\n");
 
 print("testEnum(THREE)");
-$ret = $testClient->testEnum(Numberz::THREE);
+$ret = $testClient->testEnum(ThriftTest::Numberz::THREE);
 print(" = $ret\n");
 
 print("testEnum(FIVE)");
-$ret = $testClient->testEnum(Numberz::FIVE);
+$ret = $testClient->testEnum(ThriftTest::Numberz::FIVE);
 print(" = $ret\n");
 
 print("testEnum(EIGHT)");
-$ret = $testClient->testEnum(Numberz::EIGHT);
+$ret = $testClient->testEnum(ThriftTest::Numberz::EIGHT);
 print(" = $ret\n");
 
 #
@@ -222,7 +222,7 @@
 # INSANITY TEST
 #
 my $insane = new ThriftTest::Insanity();
-$insane->{userMap}->{Numberz::FIVE} = 5000;
+$insane->{userMap}->{ThriftTest::Numberz::FIVE} = 5000;
 my $truck = new ThriftTest::Xtruct();
 $truck->string_thing("Truck");
 $truck->byte_thing(8);
diff --git a/tutorial/perl/PerlClient.pl b/tutorial/perl/PerlClient.pl
index 44a5a52..9451a94 100644
--- a/tutorial/perl/PerlClient.pl
+++ b/tutorial/perl/PerlClient.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 
 use strict;
 use warnings;
@@ -11,8 +11,8 @@
 use Thrift::Socket;
 use Thrift::BufferedTransport;
 
-use SharedService;
-use Calculator;
+use shared::SharedService;
+use tutorial::Calculator;
 use shared::Types;
 use tutorial::Types;
 
@@ -21,7 +21,7 @@
 my $socket    = new Thrift::Socket('localhost',9090);
 my $transport = new Thrift::BufferedTransport($socket,1024,1024);
 my $protocol  = new Thrift::BinaryProtocol($transport);
-my $client    = new CalculatorClient($protocol);
+my $client    = new tutorial::CalculatorClient($protocol);
 
 
 eval{
@@ -36,7 +36,7 @@
 
     my $work = new tutorial::Work();
 
-    $work->op(Operation::DIVIDE);
+    $work->op(tutorial::Operation::DIVIDE);
     $work->num1(1);
     $work->num2(0);
 
@@ -47,7 +47,7 @@
         warn "InvalidOperation: ".Dumper($@);
     }
 
-    $work->op(Operation::SUBTRACT);
+    $work->op(tutorial::Operation::SUBTRACT);
     $work->num1(15);
     $work->num2(10);
     my $diff = $client->calculate(1, $work);
