-t Filehandle is opened to a tty.
####
#!/usr/bin/perl
use strict;
use warnings;
use feature qw( say );
use File::Basename;
my $iam = basename($0);
if (-t *STDIN) {
my $nargs = @ARGV;
say "Script '$iam' called from a terminal with $nargs arg(s):";
for (my $idx = 0; $idx < $nargs; $idx++) {
printf " %2d. %s\n", $idx+1, $ARGV[$idx];
}
} else {
say "Script '$iam' is receiving input from a pipe";
}
##
##
Script 'script' called from a terminal with 3 arg(s):
1. arg1
2. arg2
3. arg3
##
##
Script 'script' is receiving input from a pipe
##
##
while () {
say "Got input: $_";
}