- - PR -
perlのサブルーチン2
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-07-24 15:49
perlについての質問です。
宜しくお願します。 perlのサブルーチンがあるとします。 sample.pm ============== sub A(){ my $str = test; return($str); } 1; ============== あるシェルスクリプトから、上記のサブルーチンを 呼び出すとき、 ============== #!/bin/bash STR=$( perl -Msample -e 'print sample::A();' ) echo "$STR" ============== とすればよいのですが、 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=39615&forum=10&2 サブルーチンAがパラメータを受け取れるようになっていたとして、 シェルスクリプトからパラメータを渡したい場合どうすればよいの でしょうか? sample.pm ============== sub A(%){ my $str = @_; return($str); } 1; ============== シェルスクリプト ============== #!/bin/bash Z=test STR=$( perl -Msample -e 'print sample::A($Z);' ) ←@ echo "$STR" ============== 上記@にてパラメータの渡し方を色々、変えて試してみたのですが うまくいきません。 試してみた方法 sample::A(${Z}); sample::A("${Z}"); 宜しくお願します。 |
|
投稿日時: 2007-07-24 17:09
すみません。自己レスです。
シングルクォートで囲っていたため、変数が 展開されませんでした。 ダブルクォートで囲ってやるとうまくいきました。 (変更前) STR=$( perl -Msample -e 'print sample::A($Z);' ) (変更後) STR=$( perl -Msample -e "print sample::A($Z);" ) 失礼しました。 |
1