#!/usr/bin/env perl # Copyright (C) 2013 Luke Shumaker # # License: GNU GPLv3+ # # This file is part of Parabola. # # Parabola is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Parabola is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Parabola. If not, see . use warnings; use strict; use constant BUFFER_SIZE => 40; binmode(STDIN); binmode(STDOUT); exit(1) if ($#ARGV != 0); my $indent = $ARGV[0]; my $print_indent = 1; my $buffer; my $size; my $c; while (1) { $size = sysread(STDIN, $buffer, BUFFER_SIZE); last if ($size < 1); for (0..$size-1) { $c = substr($buffer, $_, 1); if ($c eq "\n") { syswrite(STDOUT, $indent) if ($print_indent); syswrite(STDOUT, $c, 1); $print_indent = 1; } elsif ($c eq "\r") { syswrite(STDOUT, $c, 1); $print_indent = 1; } else { syswrite(STDOUT, $indent) if ($print_indent); syswrite(STDOUT, $c, 1); $print_indent = 0; } } }