DDL::Oracle patch

[email protected] (erica hollis)
Newsgroups perl.dbi.users
Message-ID <[email protected]>
Hi,



 I am using the module DDL::Oracle, with
Perl 5.12, and have received the warning message  "Using an array as a
reference is deprecated."  



According to the perldiag website, http://perldoc.perl.org/perldiag.html:



"Using an array as a reference is deprecated



(D deprecated) You tried to use an array as a reference, as in
@foo->[23] or @$ref->[99] . Versions of perl <= 5.6.1 used to
allow this syntax, but shouldn't have. It is now deprecated, and will
be removed in a future version."



 I've made a patch that fixes this by replacing all instances of @$row->[0] with $row->[0].



I wanted to contact the author of the module, Richard Sutherland, to
email him the patch, but his email listed on CPAN is undeliverable. 
Does anyone know how I could contact him?



Thank you,



Erica
DDLOracle.patch (application/octet-stream, 8.2 KB)
--- Oracle.pm	Thu Sep  2 15:14:40 2010
+++ OracleNew.pm	Thu Sep  2 15:14:38 2010
@@ -445,11 +445,11 @@
 
   foreach my $row ( @$aref )
   {
-    @$row->[0] =~ s/'/''/g;
+    $row->[0] =~ s/'/''/g;
 
     $sql .= "PROMPT " .
-            "COMMENT ON TABLE \L$schema$name \UIS \E'@$row->[0]'  \n\n" .
-            "COMMENT ON TABLE \L$schema$name \UIS \E'@$row->[0]' ;\n\n";
+            "COMMENT ON TABLE \L$schema$name \UIS \E'$row->[0]'  \n\n" .
+            "COMMENT ON TABLE \L$schema$name \UIS \E'$row->[0]' ;\n\n";
   }
 
   $stmt =
@@ -478,13 +478,13 @@
 
   foreach my $row ( @$aref )
   {
-    @$row->[1] =~ s/'/''/g;
+    $row->[1] =~ s/'/''/g;
 
     $sql .= "PROMPT " .
-            "COMMENT ON COLUMN \L$schema$name.@$row->[0] " . 
-              "IS '@$row->[1]'  \n\n" .
-            "COMMENT ON COLUMN \L$schema$name.@$row->[0] " . 
-              "IS '@$row->[1]' ;\n\n";
+            "COMMENT ON COLUMN \L$schema$name.$row->[0] " . 
+              "IS '$row->[1]'  \n\n" .
+            "COMMENT ON COLUMN \L$schema$name.$row->[0] " . 
+              "IS '$row->[1]' ;\n\n";
   }
 
   return $sql;
@@ -532,7 +532,7 @@
 
   foreach $row ( @$aref )
   {
-    $sql .= _create_tablespace( undef, undef, @$row->[0], $view );
+    $sql .= _create_tablespace( undef, undef, $row->[0], $view );
   }
 
   # Get rollback segments
@@ -553,7 +553,7 @@
 
   foreach $row ( @$aref )
   {
-    $sql .= _create_rollback_segment( undef, undef, @$row->[0], $view );
+    $sql .= _create_rollback_segment( undef, undef, $row->[0], $view );
   }
 
   # Get PUBLIC database links
@@ -576,7 +576,7 @@
 
   foreach $row ( @$aref )
   {
-    $sql .= _create_db_link( 'PUBLIC ', 'PUBLIC', @$row->[0], $view );
+    $sql .= _create_db_link( 'PUBLIC ', 'PUBLIC', $row->[0], $view );
   }
 
   # Get PUBLIC synonyms
@@ -625,7 +625,7 @@
 
   foreach $row ( @$aref )
   {
-    $sql .= _create_profile( undef, undef, @$row->[0], $view );
+    $sql .= _create_profile( undef, undef, $row->[0], $view );
   }
 
   # Get roles
@@ -646,7 +646,7 @@
 
   foreach $row ( @$aref )
   {
-    $sql .= _create_role( undef, undef, @$row->[0], $view );
+    $sql .= _create_role( undef, undef, $row->[0], $view );
   }
 
   # Get users
@@ -674,7 +674,7 @@
 
   foreach $row ( @$aref )
   {
-    $sql .= _create_user( undef, undef, @$row->[0], $view );
+    $sql .= _create_user( undef, undef, $row->[0], $view );
   }
 
   return $sql;
@@ -3533,7 +3533,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_type( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_type( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -3626,7 +3626,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_table( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_table( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -3709,7 +3709,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_index( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_index( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -3889,7 +3889,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_trigger( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_trigger( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -3925,7 +3925,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_view( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_view( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -3960,7 +3960,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_snapshot_log( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_snapshot_log( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -3996,7 +3996,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_snapshot( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_snapshot( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -4032,7 +4032,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_synonym( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_synonym( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -4068,7 +4068,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_db_link( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_db_link( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -4105,7 +4105,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_function( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_function( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -4142,7 +4142,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_procedure( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_procedure( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -4179,7 +4179,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_package( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_package( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -4216,7 +4216,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_package_body( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_package_body( $schema, $owner, $row->[0], $view );
   }
 
   #
@@ -4252,7 +4252,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_sequence( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_sequence( $schema, $owner, $row->[0], $view );
   }
 
   $sql .= "PROMPT Recompile schema \U$owner\n\n" .
@@ -4852,7 +4852,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_index( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_index( $schema, $owner, $row->[0], $view );
   }
 
   # Add table's constraints
@@ -4952,7 +4952,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= _create_trigger( $schema, $owner, @$row->[0], $view );
+    $sql .= _create_trigger( $schema, $owner, $row->[0], $view );
   }
 
   return $sql;
@@ -5790,7 +5790,7 @@
 
   foreach my $row ( @$aref )
   {
-    $sql .= "   QUOTA  @$row->[0]  ON \L@$row->[1]\n";
+    $sql .= "   QUOTA  $row->[0]  ON \L$row->[1]\n";
   }
 
   $sql .= ";\n\n";
@@ -5938,7 +5938,7 @@
       # source.text already includes <TYPE> <name> 
       # We want to insert the schema right before the name
 
-#      @$row->[0] =~ s/$type\s+\S+/$type \L$schema$name/i;
+#      $row->[0] =~ s/$type\s+\S+/$type \L$schema$name/i;
 #     The following line was submitted by Sandor Toth, to fix the condition
 #     where parameters immediately followed the name, as in
 #        CREATE OR REPLACE PROCEDURE foo( var1 IN VARCHAR2)
@@ -5946,10 +5946,10 @@
 #                                       |
 #                                observe, no space between 'foo' and '('
 
-      @$row->[0] =~ s/($type)\s+($name)\s*(.*)$/$1 \L$schema$2 $3/i;
+      $row->[0] =~ s/($type)\s+($name)\s*(.*)$/$1 \L$schema$2 $3/i;
     }
 
-    $sql .= "@$row->[0]";
+    $sql .= "$row->[0]";
   }
 
   $sql .= "\n"    unless $sql =~ /\Z\n/;
@@ -6233,7 +6233,7 @@
          or "\L$type" eq 'tablespace'
          or "\L$type" eq 'user'
          or (
-                  "\L@$row->[0]" ne 'public'
+                  "\L$row->[0]" ne 'public'
               and (
                        "\L$type" eq 'database link'
                     or "\L$type" eq 'synonym'
@@ -6241,17 +6241,17 @@
             )
        )
     {
-      $ddl .= "REM\t\U@$row->[1]\n";
+      $ddl .= "REM\t\U$row->[1]\n";
     }
     # Schema's don't name individual objects
     elsif ( "\L$type" eq 'schema' )
     {
-      $ddl .= "REM\t\U@$row->[0]\n";
+      $ddl .= "REM\t\U$row->[0]\n";
     }
     # The rest do.
     else
     {
-      $ddl .= "REM\t\U@$row->[0].@$row->[1]\n";
+      $ddl .= "REM\t\U$row->[0].$row->[1]\n";
     }
   }
 
@@ -6341,8 +6341,8 @@
   foreach my $row ( @$aref )
   {
     $sql .= "PROMPT " .
-            "GRANT \L@$row->[0] \UTO \L$name \U@$row->[1] \n\n" .
-            "GRANT \L@$row->[0] \UTO \L$name \U@$row->[1];\n\n";
+            "GRANT \L$row->[0] \UTO \L$name \U$row->[1] \n\n" .
+            "GRANT \L$row->[0] \UTO \L$name \U$row->[1];\n\n";
   }
 
   # Add system privileges
@@ -6371,8 +6371,8 @@
   foreach my $row ( @$aref )
   {
     $sql .= "PROMPT " .
-            "GRANT \L@$row->[0] \UTO \L$name \U@$row->[1] \n\n" .
-            "GRANT \L@$row->[0] \UTO \L$name \U@$row->[1];\n\n";
+            "GRANT \L$row->[0] \UTO \L$name \U$row->[1] \n\n" .
+            "GRANT \L$row->[0] \UTO \L$name \U$row->[1];\n\n";
   }
 
   return $sql;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.