#!/usr/bin/perl

#
# mit 
# 	perl bla.pl < eingabe.txt > ausgabe.txt
# aufrufen.
#
#
use strict;
use warnings;
my ($line, $a, $b, $c, $d, $e, $f);

while (defined($line = <STDIN>)) {	# STDIN zeilenweise lesen
	$line =~ s/\n//; 		# zeilenumbruch weg
	$line =~ s/^\s+//;		# fuehrende leerzeichen weg
	$line =~ s/\s+$//;		# leerzeichen am ende weg
	# wenn string jetzt aus 32 fuer hex-zahlen gueltigen zeichen besteht:
	if ($line =~ m/^[0-9A-Fa-f]{32}$/) {
		# einzelne teile als hex einlesen und irgendwas rechnen:
		$a = hex(substr $line, 0, 2);
		$b = hex(substr $line, 2, 6) * 1;
		$c = hex(substr $line, 8, 6) - 1 + 1;
		$d = hex(substr $line, 14, 8) * 1;
		$e = hex(substr $line, 22, 8) - 0;
		$f = hex(substr $line, 30, 2);
	
		# $a binaer umpfuschen:
		$a = unpack("B*", pack("N", $a));
		$a =~ s/^0+(?=\d)//;   # otherwise you'll get leading zeros

		print "$a#$b#$c#$d#$e#$f\n";
	} else {
		print STDERR "string \'$line\' passt nicht.\n";
	}
}
# Ende.
