Mercurial > ec-dotfiles
diff bin/putcrc.pl @ 129:f18a27a0e8fc
Merge branch.
author | Edho Arief <edho@myconan.net> |
---|---|
date | Sat, 29 Oct 2011 11:40:35 +0700 |
parents | 5bafb912837e |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/putcrc.pl Sat Oct 29 11:40:35 2011 +0700 @@ -0,0 +1,29 @@ +#!/usr/bin/perl + +use warnings; +use strict; +use String::CRC32; + +my @files = @ARGV or print("Usage: ren file1 ... fileN\n") && exit(1); +my $skip=0; +foreach (@files) { + my $newname = $_; + open(FILE,$_); + my $crc=sprintf("%08X",crc32(*FILE)); + close(FILE); + $newname =~ s/(.*)\.([^.]*)/$1 [$crc].$2/; + $newname =~ s/\] (\[$crc)/]$1/; + print(qq($_: $newname already exists, skipping\n)) and next() if -e $newname and $_ ne $newname; + if ($_ eq $newname) { + print("$_: no need to rename, skipping\n"); + } else { + if($skip==1) { print("$_ --> $newname\n"); } + else { + if(rename($_, $newname)) { print("$_ -> $newname\n"); } + else { print("$_: rename failed"); } + } + } + next(); +} + +exit(0);