perlのヒアドキュメントを使って複数行にわたるコマンドを実行する
#!/usr/local/bin/perl use strict ; use warnings ; my ($name) = @ARGV; my $outputs = <<`EOC`; echo "hello $name"; echo "1 + 1" | bc -l; EOC print $outputs;
要点は下記のヒアドキュメントの箇所で複数行にわたるコマンドを書いているところ。
EOC をバッククォートで囲むことによって、ヒアドキュメントの中身がシェルで実行される。
あとは応用で、この処理を for 文で繰り返したり、変数を渡したりすればいい。
my $outputs = <<`EOC`; echo "hello $name"; echo "1 + 1" | bc -l; EOC