updated git and svn scripts
[xrzperl.git] / plmv
blobb0f9626447a4de9b056f9da3cae6d2a56458f314
1 #!/usr/bin/perl -w
2 ###APPNAME: plmv
3 ###APPAUTHOR: xiaoranzzz
4 ###APPDATE: 2009-06-19 16:40:42
5 ###APPVER: 0.1
6 ###APPDESC: Rename perl script
7 ###APPUSAGE: src_name dst_name
8 ###APPEXAMPLE: plmv plmv plrename
9 ###APPOPTION:
10 use strict;
12 #ENV variable MUST be defined somewhere,
13 #FOR perl to search modules from,
14 #OR nothing will work
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));
20 my $OLDNAME=shift;
21 my $NEWNAME=shift;
22 unless($NEWNAME) {
23 help_even_empty($0);
24 exit 0;
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);
38 my $fsrc;
39 my $nsrc;
40 my $flnk;
41 my $nlnk;
43 my $base_old_name = $OLDNAME;
44 $base_old_name =~ s/\.[^\.]+$//;
45 my $base_new_name = $NEWNAME;
46 $base_new_name =~ s/\.[^\.]+$//;
48 my %NAME_MAP = (
49 $OLDNAME=>$NEWNAME,
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" ) {
57 $fsrc = "$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};
67 if(!$fsrc) {
68 $fsrc = "$PLDIR/$OLDNAME";
69 $nsrc = "$PLDIR/$NEWNAME";
71 if(!$flnk) {
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");
81 #while(<FI>) {
82 # s/$OLDNAME/$NEWNAME/g;
83 # print FO $_;
85 #close FI;
86 #close FO;
87 #print STDERR "\n";
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);