#!/usr/bin/perl
# vim: tabstop=2 smarttab expandtab softtabstop=2 shiftwidth=2
# in your vimrc, please add:
#   set modeline
#   set modelines=2

use strict;
use warnings;

use constant BLOCK_SIZE => 65536;

BEGIN {
  use FindBin;
  do $FindBin::RealBin . '/../etc/config.pm' ;
}

my @list = map { glob $_ } @ARGV;

for my $fnm (@list) {
  open FILE, '<' . $fnm or die $!;
  while (1) {
    my $buffer;
    my $nr = sysread FILE, $buffer, BLOCK_SIZE;
    defined $nr or die "\n$fnm: $!";
    $nr == 0 and last;
   
    my $nw = 0;
    while ($nw<$nr) {
      my $n = syswrite STDOUT, $buffer, $nr-$nw, $nw;
      $n or die "\n$fnm: $!";
      $nw += $n;
    }
  }
  close FILE;
}
