Abigail <[EMAIL PROTECTED]> writes: > > No new keywords in perl-5.001 > New in perl-5.002: tied __DATA__ sysopen prototype > No new keywords in perl-5.003 > New in perl-5.004: __PACKAGE__ sysseek > New in perl-5.005: qr lock INIT > New in perl-5.6.0: CHECK our > No new keywords in perl-5.8.0 > Deleted keywords: LE NE GE EQ GT LT > New in perl-5.9.1: err > > >While I won't deny 'err' may be used in many existing programs, I doubt >it's used more than 'lock' was before 'lock' was introduced as a keyword.
But lock keyword is overridden by a sub called lock ;-) > > > >Abigail > > > > >#!/usr/bin/perl > >use strict; >use warnings; >no warnings qw /syntax/; > >my @versions = qw /5.000 5.001 5.002 5.003 5.004 5.005 5.6.0 5.8.0 5.9.1/; >my $dir = "/home/abigail/Src/perl"; > >my %keywords; >foreach my $version (@versions) { > my $file = "$dir-$version/keywords.h"; > open my $fh => $file or die "open $file: $!\n"; > while (<$fh>) { > /KEY_(\w+)/ or next; > $keywords {$version} {$1} = 1; > } >} > >for (my $i = 1; $i < @versions; $i ++) { > my %tmp = %{$keywords {$versions [$i]}}; > delete $tmp {$_} for keys %{$keywords {$versions [$i - 1]}}; > if (keys %tmp) { > print "New in perl-", $versions [$i], ": @{[keys %tmp]}\n"; > } > else { > print "No new keywords in perl-", $versions [$i], "\n"; > } > %tmp = %{$keywords {$versions [$i - 1]}}; > delete $tmp {$_} for keys %{$keywords {$versions [$i]}}; > if (keys %tmp) { > print " Deleted keywords: @{[keys %tmp]}\n"; > } >} > >__END__