Kris Jurka wrote: > > > On Fri, 19 Aug 2011, Kris Jurka wrote: > > > For me this fails with: > > > > Bareword "Tie::File" not allowed while "strict subs" in use at > > /home/jurka/pg/server/postgresql/src/tools/copyright.pl line 28. > > > > This fixes things for me. The copyright matching wasn't working for me > either without escaping the parentheses.
Was able to reproduce the error you reported with Perl 5.10. I then tried the single-quote idea I got from Googling, but then got an error about TIEARRAY being missing, so I recoded it as a simple file open/close. I also incorported your regex fix. Path attached and applied. Thanks. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
diff --git a/src/tools/copyright.pl b/src/tools/copyright.pl new file mode 100755 index 96b1f22..91f73e3 *** a/src/tools/copyright.pl --- b/src/tools/copyright.pl *************** use warnings; *** 13,19 **** use File::Find; my $pgdg = 'PostgreSQL Global Development Group'; ! my $cc = 'Copyright (c) '; # year-1900 is what localtime(time) puts in element 5 my $year = 1900 + ${[localtime(time)]}[5]; --- 13,19 ---- use File::Find; my $pgdg = 'PostgreSQL Global Development Group'; ! my $cc = 'Copyright \(c\) '; # year-1900 is what localtime(time) puts in element 5 my $year = 1900 + ${[localtime(time)]}[5]; *************** print "Using current year: $year\n"; *** 22,33 **** find({wanted => \&wanted, no_chdir => 1}, '.'); sub wanted { ! return unless -f $File::Find::name; ! my @lines; ! tie @lines, Tie::File, $File::Find::name; ! foreach my $line (@lines) { # We only care about lines with a copyright notice. next unless $line =~ m/$cc.*$pgdg/; # We stop when we've done one substitution. This is both for --- 22,35 ---- find({wanted => \&wanted, no_chdir => 1}, '.'); sub wanted { ! my $filename = $File::Find::name; ! # only regular files ! return if ! -f $filename; ! open(my $FILE, '<', $filename) or die "Cannot open $filename"; ! ! foreach my $line (<$FILE>) { # We only care about lines with a copyright notice. next unless $line =~ m/$cc.*$pgdg/; # We stop when we've done one substitution. This is both for *************** sub wanted { *** 37,43 **** last if $line =~ s/($cc\d{4})(, $pgdg)/$1-$year$2/; last if $line =~ s/($cc\d{4})-\d{4}(, $pgdg)/$1-$year$2/; } ! untie @lines; } print "Manually update doc/src/sgml/legal.sgml and src/interfaces/libpq/libpq.rc.in too\n"; --- 39,45 ---- last if $line =~ s/($cc\d{4})(, $pgdg)/$1-$year$2/; last if $line =~ s/($cc\d{4})-\d{4}(, $pgdg)/$1-$year$2/; } ! close($FILE) or die "Cannot close $filename"; } print "Manually update doc/src/sgml/legal.sgml and src/interfaces/libpq/libpq.rc.in too\n";
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers