12 $newname =~ s/\.pl$/.pm/ || next;
13 $newname =~ s#(.*/)?(\w+)#$1\u$2#;
15 warn "Won't overwrite existing $newname\n";
21 print "$oldpack => $newpack\n" if $verbose;
23 s/\bstd(in|out|err)\b/\U$&/g;
24 s/(sub\s+)(\w+)(\s*\{[ \t]*\n)\s*package\s+$oldpack\s*;[ \t]*\n+/${1}main'$2$3/ig;
26 @export = m/sub\s+main'(\w+)/g;
27 s/(sub\s+)main'(\w+)/$1$2/g;
30 @export = m/sub\s+([A-Za-z]\w*)/g;
32 @export_ok = grep($keyword{$_}, @export);
33 @export = grep(!$keyword{$_}, @export);
34 @export{@export} = (1) x @export;
36 s/(#.*)require ['"]$oldpack\.pl['"]/$1use $newpack/;
37 s/(package\s*)($oldpack)\s*;[ \t]*\n+//ig;
38 s/([\$\@%&*])'(\w+)/&xlate($1,"",$2)/eg;
39 s/([\$\@%&*]?)(\w+)'(\w+)/&xlate($1,$2,$3)/eg;
40 if (!/\$\[\s*\)?\s*=\s*[^0\s]/) {
41 s/^\s*(local\s*\()?\s*\$\[\s*\)?\s*=\s*0\s*;[ \t]*\n//g;
46 s/open\s+(\w+)/open($1)/g;
48 if (s/\bdie\b/croak/g) {
49 $carp = "use Carp;\n";
50 s/croak "([^"]*)\\n"/croak "$1"/g;
56 $export_ok = "\@EXPORT_OK = qw(@export_ok);\n";
62 open(PM, ">$newname") || warn "Can't create $newname: $!\n";
69 \@EXPORT = qw(@export);
76 local($prefix, $pack, $ident) = @_;
77 if ($prefix eq '' && $ident =~ /^(t|s|m|d|ing|ll|ed|ve|re)$/) {
80 elsif ($pack eq "" || $pack eq "main") {
81 if ($export{$ident}) {
85 "$prefix${pack}::$ident";
88 elsif ($pack eq $oldpack) {
89 "$prefix${newpack}::$ident";
92 "$prefix${pack}::$ident";