[Perl] Bin to Hex Converter

Linux 2011. 2. 14. 11:23
Binary input 파일을 받아 hexadecimal로 이루어진 output file을 생성하는 perl script

[Perl script]
#!/usr/bin/perl

use strict;

my $input_file;
my $output_file;
my $buf;
my ($byte0, $byte1, $byte2, $byte3);
my $alignedHex;

print("====================\n");

print("Bin to Hex Converter\n");
print("====================\n");

open(INFILE, $ARGV[0]) || die("Cannot open input file\n");
binmode INFILE;
$input_file = $ARGV[0];
$output_file = $ARGV[1];

print("Input filename: ${input_file}\n");
print("Output filename: ${output_file}\n");
print("\n");

open(OUTFILE, ">${output_file}");

while(sysread(INFILE, $buf, 4)) {
      my $buf2hex;
      $buf2hex = unpack("H*", $buf);
      $byte0 = substr($buf2hex, 0, 2);
      $byte1 = substr($buf2hex, 2, 2);
      $byte2 = substr($buf2hex, 4, 2);
      $byte3 = substr($buf2hex, 6, 2);
      $alignedHex = $byte3.$byte2.$byte1.$byte0;
      print(OUTFILE "${alignedHex}\n");     
}

close(INFILE);

[Usage]
./bin2hex input_filename output_filename

[Output]
ba000000
12345678
...

'Linux' 카테고리의 다른 글

[vi] ctags 사용법  (0) 2011.02.17
[vi] 편리한 몇가지 팁  (0) 2011.02.17
[Perl] Hex to Bin Converter  (0) 2011.02.14
[vi] Folding  (0) 2011.02.08
[Perl] File I/O  (0) 2011.01.05
Posted by sunshowers
,