use Digest::SHA1 qw(sha1); sub getHexData { my ($key)= unpack("H*",shift); return $key; } print "Enter the file path :"; my $file = ; chomp($file); print "Enter chunk size :"; my $size = ; chomp($size); open(FILE, $file) || die "Unable to open the file"; open(TEST,">sample.txt") || die("This file will not open!"); $len = read(FILE, $data, $size); while ( $len != 0) { $datalen = $size == $len ? $size: $len; $digest = sha1($data); $keydata = getHexData($digest); $valuedata = getHexData($data); print TEST "$keydata=$valuedata\n"; $len = read(FILE, $data, $size); } close (TEST); close(FILE);