use B::Assembler qw(assemble_fh);
my ($filename, $fh, $out);
$fh = new FileHandle "<$filename";
$fh = new FileHandle "<$filename";
$out = new FileHandle ">$ARGV[1]";
die "Usage: assemble [filename] [outfilename]\n";
$SIG{__WARN__} = sub { warn "$filename:@_" };
$SIG{__DIE__} = sub { die "$filename: @_" };
assemble_fh($fh, sub { print $out @_ });