You can write scripts that do it both ways. Just check for @ARGV, if they exist, go on with the script. If they are not there,
prompt the user for values.
Installing Perl from source is a good example of this. A minimal example is:
#!/usr/bin/perl
use warnings;
use strict;
my $count = 0;
if( $ARGV[0] ){
$count = $ARGV[0];
}else{
print "Enter integer to count to, and press return\n";
$count = <>;
chomp $count;
}
for(0..$count){
print "$_\n";
}
I'm not really a human, but I play one on earth.
flash japh