DB_File

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN


    if ($] < 5.006001) {
        # From: use|no warnings "blah"
        # To:   local ($^W) = 1; # use|no warnings "blah"
        #
        # and
        #
        # From: warnings::warnif(x,y);
        # To:   $^W && carp(y); # warnif -- x
        $warn_sub = sub {
            s/^(\s*)(no\s+warnings)/${1}local (\$^W) = 0; #$2/ ;
            s/^(\s*)(use\s+warnings)/${1}local (\$^W) = 1; #$2/ ;

            s/^(\s*)warnings::warnif\s*\((.*?)\s*,\s*(.*?)\)\s*;/${1}\$^W && carp($3); # warnif - $2/ ;
          };
    }
    else {
        # From: local ($^W) = 1; # use|no warnings "blah"
        # To:   use|no warnings "blah"
        #
        # and
        #
        # From: $^W && carp(y); # warnif -- x
        # To:   warnings::warnif(x,y);
        $warn_sub = sub {
            s/^(\s*)local\s*\(\$\^W\)\s*=\s*\d+\s*;\s*#\s*((no|use)\s+warnings.*)/$1$2/ ;
            s/^(\s*)\$\^W\s+\&\&\s*carp\s*\((.*?)\)\s*;\s*#\s*warnif\s*-\s*(.*)/${1}warnings::warnif($3, $2);/ ;
          };
    }

    if ($] < 5.006000) {
        $our_sub = sub {
            if ( /^(\s*)our\s+\(\s*([^)]+\s*)\)/ ) {
                my $indent = $1;
                my $vars = join ' ', split /\s*,\s*/, $2;
                $_ = "${indent}use vars qw($vars);\n";
            }
          };
    }
    else {
        $our_sub = sub {
            if ( /^(\s*)use\s+vars\s+qw\((.*?)\)/ ) {
                my $indent = $1;
                my $vars = join ', ', split ' ', $2;
                $_ = "${indent}our ($vars);\n";
            }
          };
    }

    foreach (@files)
      { doUpDown($our_sub, $warn_sub, $_) }
}


sub doUpDown
{
    my $our_sub = shift;
    my $warn_sub = shift;

    local ($^I) = ".bak" ;
    local (@ARGV) = shift;

    while (<>)
    {
        print, last if /^__(END|DATA)__/ ;

        &{ $our_sub }();
        &{ $warn_sub }();
        print ;
    }

    return if eof ;

    while (<>)
      { print }
}

# end of file Makefile.PL



( run in 1.177 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )