my $buffer; open INFILE, "test.text" or die "Can't open test.txt for reading: $!\n"; open OUTFILE, ">test_updated.bin" or die "Can't open test_updated.bin for writing: $!\n"; binmode OUTFILE; my $line = ; chomp $line; my @list = split //, $line; my $hex_value; my $i =1; foreach my $character (@list) { if($i%2 == 0) { $hex_value .= $character; syswrite OUTFILE, hex($hex_value); } elsif($i%2 == 1) { $hex_value = "0x".$character; } $i++; }