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__

Reply via email to