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 <[email protected]> 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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers