Это вопрос оболочки, но вы не указали, какая оболочка.
ш
Проще всего просто передать данные в STDIN.
printf 'foo bar' | test.pl
printf 'foo\nbar\n' | test.pl
test.pl <<'.'
foo
bar
.
Баш
В дополнение к решениям для sh
вы также можете использовать следующее:
test.pl <<<'foo bar'
test.pl <<<$'foo\nbar\n'
test.pl <( printf 'foo\nbar\n' )
Последний избегает использования STDIN. Это (внутренне) сложнее, чем другие решения, но позволяет передавать несколько «виртуальных файлов».