- #!/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;
- }
- }
|