<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -4,7 +4,7 @@ use warnings;
 use inc::Module::Install 0.77;
 
 name  'Test-Class-Sugar';
-perl_version '5.010000';
+perl_version '5.008008';
 all_from 'lib/Test/Class/Sugar.pm';
 
 recommends 'Test::Most';</diff>
      <filename>Makefile.PL</filename>
    </modified>
    <modified>
      <diff>@@ -31,7 +31,8 @@ use Sub::Exporter -setup =&gt; {
             unshift @$to_export, 'testclass', \&amp;testclass;
         }
         foreach my $name (@$to_export) {
-            if (my $parser = __PACKAGE__-&gt;can($PARSER_FOR{$name}//'-NOTHING-')) {
+            my $parser_called = defined $PARSER_FOR{$name} ? $PARSER_FOR{$name} : '-NOTHING-';
+            if (my $parser = __PACKAGE__-&gt;can($parser_called)) {
                 Devel::Declare-&gt;setup_for(
                     $pack,
                     { $name =&gt; { const =&gt; sub { $parser-&gt;($pack, $args-&gt;{col}{defaults}, @_) } } },
@@ -56,7 +57,7 @@ sub _testclass_generator {
     my($ctx, $classname, $defaults, $options) = @_;
 
     foreach my $key (keys %$defaults) {
-        $options-&gt;{$key} //= $defaults-&gt;{$key};
+        defined $options-&gt;{$key} ? () : ($options-&gt;{$key} = $defaults-&gt;{$key});
     }
 
     my $ret = Test::Class::Sugar::CodeGenerator-&gt;new(</diff>
      <filename>lib/Test/Class/Sugar.pm</filename>
    </modified>
    <modified>
      <diff>@@ -74,7 +74,8 @@ class Test::Class::Sugar::CodeGenerator {
     }
 
     method helpers {
-        @{$self-&gt;options-&gt;{helpers} //= [qw{Test::Most}]};
+        $self-&gt;options-&gt;{helpers} = [qw{Test::Most}] unless defined $self-&gt;options-&gt;{helpers};
+        @{$self-&gt;options-&gt;{helpers}};
     }
 
     method use_helpers_string {
@@ -109,8 +110,9 @@ class Test::Class::Sugar::CodeGenerator {
 
     method inject_testclass {
         $self-&gt;context-&gt;skipspace;
-        $self-&gt;context-&gt;inject_if_block($self-&gt;testclass_preamble) //
-          croak &quot;Expecting an opening brace&quot;;
+        my $inject = $self-&gt;context-&gt;inject_if_block($self-&gt;testclass_preamble);
+        croak &quot;Expecting an opening brace&quot; unless defined $inject;
+        $inject;
     }
 
     method shadow_testclass {
@@ -118,8 +120,8 @@ class Test::Class::Sugar::CodeGenerator {
     }
 
     method install_testclass {
-        $self-&gt;has_classname
-          // croak &quot;You provide either a class name or an exercises clause&quot;;
+        croak &quot;You provide either a class name or an exercises clause&quot;
+            unless defined $self-&gt;has_classname;
 
         $self-&gt;inject_testclass;
         $self-&gt;shadow_testclass;</diff>
      <filename>lib/Test/Class/Sugar/CodeGenerator.pm</filename>
    </modified>
    <modified>
      <diff>@@ -44,8 +44,8 @@ sub strip_names {
     unless($self-&gt;looking_at('&gt;&gt;')) {
         while (! $self-&gt;looking_at(qr/(?:{|&gt;&gt;)/,1) ) {
             $self-&gt;looking_at(qr{\w}) or croak(&quot;I don't understand &quot;, $self-&gt;peek_next_char);
-            $name .= ('_' . $self-&gt;strip_name)
-            // croak &quot;Expecting a simple name; try quoting it&quot;;
+            $name .= ('_' . $self-&gt;strip_name);
+            croak &quot;Expecting a simple name; try quoting it&quot; unless defined $name;
             $self-&gt;skipspace;
         }
     }
@@ -70,7 +70,9 @@ sub strip_test_name {
 
 sub looking_at {
     my($self, $expected, $len) = @_;
-    $len //= ref($expected) ? undef : length($expected);
+    unless (defined $len) {
+        $len = ref($expected) ? undef : length($expected);
+    }
 
     $expected = quotemeta($expected) unless ref($expected);
 
@@ -115,10 +117,10 @@ sub strip_options {
     my %ret;
 
     while (!$self-&gt;looking_at(qr/[{&quot;]/)) {
-        $self-&gt;strip_base_classes(\%ret)
-        // $self-&gt;strip_helper_classes(\%ret)
-        // $self-&gt;strip_class_under_test(\%ret)
-        // croak 'Expected option name';
+        defined $self-&gt;strip_base_classes(\%ret)     ? () 
+      : defined $self-&gt;strip_helper_classes(\%ret)   ? ()
+      : defined $self-&gt;strip_class_under_test(\%ret) ? ()
+      : croak 'Expected option name';
         $self-&gt;skipspace;
     }
 
@@ -132,8 +134,9 @@ sub strip_class_under_test {
 
     croak &quot;testclass can only exercise one class&quot; if $opts-&gt;{class_under_test};
 
-    $opts-&gt;{class_under_test} = $self-&gt;strip_name
-      // croak &quot;Expected a class name&quot;;
+    my $name = $self-&gt;strip_name;
+    croak &quot;Expected a class name&quot; unless defined $name;
+    $opts-&gt;{class_under_test} = $name;
     return 1;
 }
 
@@ -142,7 +145,7 @@ sub strip_helper_classes {
     my($self, $opts) = @_;
     return unless $self-&gt;strip_string('uses');
 
-    $opts-&gt;{helpers} //= [];
+    $opts-&gt;{helpers} = [] unless defined $opts-&gt;{helpers};
 
     while (1) {
         $self-&gt;skipspace;
@@ -151,8 +154,8 @@ sub strip_helper_classes {
             $helper .= 'Test::';
         }
 
-        $helper .= $self-&gt;strip_name
-          // croak &quot;Expecting a test helper name&quot;;
+        my $name = $self-&gt;strip_name;
+        $helper .= $name;
         push @{$opts-&gt;{helpers}}, $helper;
         return 1 unless $self-&gt;strip_comma;
     }
@@ -165,8 +168,8 @@ sub strip_base_classes {
     while (1) {
         $self-&gt;skipspace;
 
-        my $baseclass = $self-&gt;strip_name
-          // croak 'expecting a base class';
+        my $baseclass = $self-&gt;strip_name;
+        croak 'expecting a base class' unless defined $baseclass;
         $ret-&gt;{base} .= &quot;$baseclass &quot;;
         return 1 unless $self-&gt;strip_comma;
     }</diff>
      <filename>lib/Test/Class/Sugar/Context.pm</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7f4f83fdef68f5044d921f7835c0a39e20b6524f</id>
    </parent>
  </parents>
  <author>
    <name>Joel Bernstein</name>
    <email>joel.bernstein@net-a-porter.com</email>
  </author>
  <url>http://github.com/pdcawley/test-class-sugar/commit/db7978cfa50ffa924a73cea3feca585375f56f36</url>
  <id>db7978cfa50ffa924a73cea3feca585375f56f36</id>
  <committed-date>2009-11-06T04:39:37-08:00</committed-date>
  <authored-date>2009-11-06T04:39:37-08:00</authored-date>
  <message>remove uses of defined-or operator, permits T::C::Sugar to run on 5.8.x</message>
  <tree>83052ad8e7adf24407562e534d561b360d170a13</tree>
  <committer>
    <name>Joel Bernstein</name>
    <email>joel.bernstein@net-a-porter.com</email>
  </committer>
</commit>
