3 ###APPAUTHOR: xiaoranzzz
4 ###APPDATE: 2009-06-19 16:40:42
6 ###APPDESC: Rename perl script
7 ###APPUSAGE: src_name dst_name
8 ###APPEXAMPLE: plmv plmv plrename
12 #ENV variable MUST be defined somewhere,
13 #FOR perl to search modules from,
15 use lib
$ENV{XR_PERL_MODULE_DIR
};
16 use MyPlace
::Script
::Usage qw
/help_required help_even_empty/;
17 #exit 0 if(help_required($0,@ARGV));
18 exit 0 if(help_even_empty
($0,@ARGV));
26 die("$OLDNAME == $NEWNAME\n") if($OLDNAME eq $NEWNAME);
28 my $PLDIR=$ENV{XR_PERL_SOURCE_DIR
};
29 die("\$XR_PERL_SOURCE_DIR not set or not valid\n") unless(-d
$PLDIR);
32 my $BINDIR=$ENV{XR_PERL_BINARY_DIR
};
33 die("\$XR_PERL_BINARY_DIR not set or not valid\n") unless(-d
$BINDIR);
43 my $base_old_name = $OLDNAME;
44 $base_old_name =~ s/\.[^\.]+$//;
45 my $base_new_name = $NEWNAME;
46 $base_new_name =~ s/\.[^\.]+$//;
50 $OLDNAME . ".pl" =>$NEWNAME . ".pl",
51 $base_old_name => $base_new_name,
52 $base_old_name . ".pl" =>$base_new_name . ".pl",
55 foreach my $fn ($OLDNAME,$OLDNAME . ".pl",$base_old_name,$base_old_name . ".pl") {
56 if (-f
"$PLDIR/$fn" ) {
58 $nsrc = "$PLDIR/" . $NAME_MAP{$fn};
61 foreach my $fn ($OLDNAME,$OLDNAME . ".pl",$base_old_name,$base_old_name . ".pl") {
62 if (-f
"$BINDIR/$fn" ) {
63 $flnk = "$BINDIR/$fn";
64 $nlnk = "$BINDIR/" . $NAME_MAP{$fn};
68 $fsrc = "$PLDIR/$OLDNAME";
69 $nsrc = "$PLDIR/$NEWNAME";
72 $flnk = "$BINDIR/$OLDNAME";
73 $nlnk = "$BINDIR/$NEWNAME";
76 #die(join("\n",($fsrc,$nsrc,$flnk,$nlnk)));
77 die("\"$fsrc\" not exist\n") unless(-f
$fsrc);
78 #print STDERR "converting \"$fsrc\" to \"$nsrc\"...";
79 #open FI,"<",$fsrc or die("$!\n");
80 #open FO,">",$nsrc or die("$!\n");
82 # s/$OLDNAME/$NEWNAME/g;
88 #system("rm","-v","--",$fsrc);
89 system("mv","-v","--",$fsrc,$nsrc);
90 system("rm","-v","--",$flnk) if(-l
$flnk);
91 system("ln","-vfs",$nsrc,$nlnk);