すぐわかるPerlでPerlを学ぶ(その4)
![すぐわかるPerl (Software Technology) すぐわかるPerl (Software Technology)](https://images-fe.ssl-images-amazon.com/images/I/41LnrObXh5L._SL160_.jpg)
すぐわかるPerl (Software Technology)
- 作者: 深沢千尋
- 出版社/メーカー: 技術評論社
- 発売日: 1999/07/01
- メディア: 単行本
- 購入: 11人 クリック: 300回
- この商品を含むブログ (44件) を見る
第5章
スクリプト起動時に渡される引数
perlはスクリプトの起動時に渡された引数が@ARGVという配列に格納されます。
簡単なスクリプトを作って確認してみます。
#!/usr/bin/perl foreach $argvalue (@ARGV) { print "$argvalue\n"; }
さっそくこれを実行してみましょう。
itotto@www > ./argvtest.pl arg1 ARG2 hikisuu3 arg1 ARG2 hikisuu3 itotto@www >
というわけで、たしかにちゃんと引数を取れてます。めでたし、めでたし。
関数 - eval
evalという関数がありまして、引数を計算してその結果を返すという非常に便利なものです。
これを使った電卓スクリプトを作ります。
#!/usr/bin/perl -w $evalstr = ''; foreach $argvalue (@ARGV) { $argvalue =~ s/x/*/g; $argvalue =~ s/\^/**/g; $evalstr = $evalstr.' '.$argvalue; } $result = eval($evalstr); print "$evalstr = $result\n";
変数がいくつか出てきたので念のため,-wオプションも併用してみました。実際に使ってみます。
itotto@www > ./calc.pl 1 + 2 + 3 x 10 1 + 2 + 3 * 10 = 33 itotto@www > ./calc.pl '( 20 + 4 ) / 6' ( 20 + 4 ) / 6 = 4 itotto@www > ./calc.pl 2/4 + 3/6 2/4 + 3/6 = 1 itotto@www > ./calc.pl 2^3 + 1 2**3 + 1 = 9 itotto@www >
計算結果は正しいようです。こんな感じで計算できます。