#!/usr/bin/perl
###########################################################
#
# Take a file (of binary numbers between 0b00000000 and 0b11111111
# separated by spaces) and a target file.
# write the target using ASCII equivalents of the binary numbers
#
# by Ken Owen
# 1/24/2011
#
###########################################################
if(@ARGV!=2){
print "\n\nUsage: perl binary_io_program.pl <source> <target>\n\n";
exit(0);
}
open(X, "$ARGV[0]") || die print "Couldn't open " . $ARGV[0] . "!\n";
open(Y, ">$ARGV[1]") || die print "Couldn't open " . $ARGV[1] . " for writing!\n";
while(<X>){
@x=split /\s/, $_;
}
my $z;
foreach $x(@x){
$x=~s/0b//;
$z=0;
for($i=0;$i<8;$i++){
$z+=2**(7-$i)*int(substr($x,$i,1));
}
$y=chr($z);
print Y $y;
}
print "All done!\n";