new perls v5.39.10
[andk-cpan-tools.git] / bin / configdiff.pl
blob635db3be6c5de192bcea2d5dc340b780032765c5
1 #!/usr/bin/perl
5 =pod
7 Eigentlich sollte ein Einzeiler reichen, aber er ist schon ein wenig
8 unuebersichtlich:
10 diff -U 0 =(/usr/local/perl-5.8.0@17974/bin/perl -V:.\*) =(/usr/local/perl-5.8.0@17975/bin/perl -V:.\*)
12 See also: compare-snapshots.pl
14 =cut
16 use strict;
17 use warnings;
18 use Getopt::Long;
20 our %OPT;
21 GetOptions(\%OPT,"all!");
23 die "Usage: $0 perl_1 perl_2" unless @ARGV == 2;
24 my($l,$r) = @ARGV;
25 my $pipe_remove_semi = "|perl -ple s:\\;\\\\z::"; # 5.6.2 had no semicolons
26 my $pipe_sort = "|sort";
28 open my $zsh, qq{zsh -c 'diff -U 0 =($l -V:.\\*$pipe_remove_semi$pipe_sort) =($r -V:.\\*$pipe_remove_semi$pipe_sort)' |} or die;
29 CONFVAR: while (<$zsh>) {
30 next if /^@/;
31 if (!$OPT{all}) {
32 next CONFVAR if /^.
34 archlib(?:exp)?|
35 bin(?:exp)?|
36 cf_time|
37 config_arg[\dc]+|
38 dynamic_ext|
39 extensions|
40 install.*|
41 libs.*|
42 man\d.*|
43 myuname|
44 perlpath|
45 prefix.*|
46 priv.*|
47 scriptdir.*|
48 sig_name.*|
49 site.*|
50 startperl|
51 zzzzzzzzzzzzzzz
52 )=/x
55 =.*\.so\b
56 /x;
58 print;