Substitute mit execute reimt sich.
authorSven Schöling <s.schoeling@linet-services.de>
Tue, 24 Apr 2007 11:16:49 +0000 (11:16 +0000)
committerSven Schöling <s.schoeling@linet-services.de>
Tue, 24 Apr 2007 11:16:49 +0000 (11:16 +0000)
SL/Form.pm

index 45fd48e..8275807 100644 (file)
@@ -2357,12 +2357,8 @@ sub update_defaults {
   my ($var) = $sth->fetchrow_array;
   $sth->finish;
 
-  if ($var =~ /^(.*?)(\d+)$/) {
-    my $new_num = sprintf '%0*d', length($2), $2 + 1;
-    $var = "${1}${new_num}";
-  } else {
-    $var++;
-  }
+  $var =~ s/\d+$/ sprintf '%0*d', length($&), $&+1 /e;
+  $var ||= 1;
 
   $query = qq|UPDATE defaults SET $fld = ?|;
   do_query($self, $dbh, $query, $var);
@@ -2393,14 +2389,8 @@ sub update_business {
        WHERE id = ? FOR UPDATE|;
   my ($var) = selectrow_query($self, $dbh, $query, $business_id);
 
-  if ($var ne "") {
-    if ($var =~ /^(.*?)(\d+)$/) {
-      my $new_num = sprintf '%0*d', length($2), $2 + 1;
-      $var = "${1}${new_num}";
-    } else {
-      $var++;
-    }
-  }
+  $var =~ s/\d+$/ sprintf '%0*d', length($&), $&+1 /e;
+  
   $query = qq|UPDATE business
               SET customernumberinit = ?
               WHERE id = ?|;