view bin/putcrc.pl @ 719:bcdf320dabf4 default tip

Rewrite the ed2k again in php Getting openssl to hash md4 is a pain.
author nanaya <me@nanaya.net>
date Sun, 10 Dec 2023 00:35:22 +0900
parents 5bafb912837e
children
line wrap: on
line source

#!/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);