#!/usr/bin/env perl
							 | 
						|
								
							 | 
						|
								=pod
							 | 
						|
								
							 | 
						|
								=head1 NAME
							 | 
						|
								
							 | 
						|
								dog - lump STDIN and arguments together.
							 | 
						|
								
							 | 
						|
								=head1 SYNOPSIS
							 | 
						|
								
							 | 
						|
								dog [ B<--chomp> ] [ I<argument> ] [ I<argument> ] [ I<...> ]
							 | 
						|
								
							 | 
						|
								=head1 DESCRIPTION
							 | 
						|
								
							 | 
						|
								Concatenate arguments, and/or standard input, to standard output.
							 | 
						|
								
							 | 
						|
								=over
							 | 
						|
								
							 | 
						|
								=item B<-c --chomp>
							 | 
						|
								
							 | 
						|
								Remove any newlines from standard input.
							 | 
						|
								
							 | 
						|
								If an argument is B<->, it will be replaced with standard input.
							 | 
						|
								
							 | 
						|
								=back
							 | 
						|
								
							 | 
						|
								=head1 EXAMPLES
							 | 
						|
								
							 | 
						|
								    echo bar | dog -c foo - baz
							 | 
						|
								
							 | 
						|
								=head1 AUTHOR
							 | 
						|
								
							 | 
						|
								Brennen Bearnes
							 | 
						|
								
							 | 
						|
								=cut
							 | 
						|
								
							 | 
						|
								use strict;
							 | 
						|
								use warnings;
							 | 
						|
								
							 | 
						|
								use Getopt::Long;
							 | 
						|
								
							 | 
						|
								# chomp any trailing newline from STDIN?
							 | 
						|
								my $chomp = 0;
							 | 
						|
								GetOptions(chomp => \$chomp);
							 | 
						|
								
							 | 
						|
								for (@ARGV) {
							 | 
						|
								  if ($_ eq '-') {
							 | 
						|
								    while (<STDIN>) {
							 | 
						|
								      chomp if (eof(STDIN) && $chomp);
							 | 
						|
								      print;
							 | 
						|
								    }
							 | 
						|
								  } else {
							 | 
						|
								    print;
							 | 
						|
								  }
							 | 
						|
								}
							 |