3
我具有类似于此如何在更大的Perl字符串中查找和增加数字?
INSERT INTO `log_action` VALUES (1,'a',1,4),(2,'a',1,1),(3,'a',4,4),(4,'a',1,1),(5,'a',6,4);
串,其中我想增加号码每个第一值的,所以它成为(当值是10)
INSERT INTO `log_action` VALUES (11,'a',1,4),(12,'a',1,1),(13,'a',4,4),(14,'a',1,1),(15,'a',6,4);
我曾尝试这个
#!/usr/bin/perl -w
use strict;
my $input;
if ($#ARGV == 0) {
$input = $ARGV[0];
} else {
print "Usage: test.pl filename\n\n";
die "Wrong number of arguments.\n";
}
my $value;
$value = 10;
open(FILE, '<', $input) or die $!;
foreach my $line (<FILE>) {
if ($line =~ m/^INSERT INTO \`log_action\` VALUES/) {
$line =~ s/\((\d+),/\($1+$value,/ge;
print $line . "\n";
}
}
close FILE;
由于\($1+$value,
而失败。 \(
和,
就在那里,因为搜索吃了那些东西。
如何解决它的任何建议?
哇! lookaround完全酷!还有''HERE;'诡计!非常感谢!!! – 2010-08-19 12:55:36