home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 December (Special) / PCWorld_2005-12_Special_cd.bin / Bezpecnost / lsti / lsti.exe / framework-2.5.exe / assemble < prev    next >
Text File  |  2005-01-27  |  648b  |  31 lines

  1. use B::Assembler qw(assemble_fh);
  2. use FileHandle;
  3.  
  4. my ($filename, $fh, $out);
  5.  
  6. if ($ARGV[0] eq "-d") {
  7.     B::Assembler::debug(1);
  8.     shift;
  9. }
  10.  
  11. $out = \*STDOUT;
  12.  
  13. if (@ARGV == 0) {
  14.     $fh = \*STDIN;
  15.     $filename = "-";
  16. } elsif (@ARGV == 1) {
  17.     $filename = $ARGV[0];
  18.     $fh = new FileHandle "<$filename";
  19. } elsif (@ARGV == 2) {
  20.     $filename = $ARGV[0];
  21.     $fh = new FileHandle "<$filename";
  22.     $out = new FileHandle ">$ARGV[1]";
  23. } else {
  24.     die "Usage: assemble [filename] [outfilename]\n";
  25. }
  26.  
  27. binmode $out;
  28. $SIG{__WARN__} = sub { warn "$filename:@_" };
  29. $SIG{__DIE__} = sub { die "$filename: @_" };
  30. assemble_fh($fh, sub { print $out @_ });
  31.