![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?5a7ff87)
配列を引数とするサブルーチンに関する質問です。
Trimと Hex2Decのサブルーチンをインターネットを参考に作りました。
下記のスクリプトは
> perl test.pl
で期待通りに動きます。
質問は、サブルーチンの中における、
for (@out) {
$_=hex;
}
です。
trimの方では、$_がなくても、きちんと動きます。(あってもOK、$_=~s/^\s+//; $_=~s/\s+$//;)
Hex2Decの方は、$_=hex; でないと動きません。
これは、for (@out) { }でひとつずつ処理する対象が、$_に入っている。
処理結果の格納先が、s/^\s+//; の場合は、記述無き時は、 $_と暗黙できまっているのに対し、
hex;の場合は、そうではない。明示的に与えてやらなければいけない。
こういう理解で、良いでしょうか?
他に、やりようはあるのでしょうか?
宜しくお願いいたします。
test.pl -----------------------------------------
$a=10,print "Hex=".$a." --> Dec=".&Hex2Dec($a)."\n";
$a=20,print "Hex=".$a." --> Dec=".&Hex2Dec($a)."\n";
@a=('a','b','c','d');
@b=&Hex2Dec(@a);
print "Hex=@a --> Dec=@b\n";
$a=' a ',print "org=$a --> trimed =".&trim($a)."xxxxx\n";
$a=' b ',print "org=$a --> trimed =".&trim($a)."xxxxx\n";
@a=(' a ',' a ',' a ',' a ');
@b=&trim(@a);
print "org=@a --> trimed= @b\n";
sub trim {
my @out = @_;
for (@out) {
s/^\s+//;
s/\s+$//;
}
return wantarray ? @out : $out[0];
}
sub Hex2Dec {
my @out = @_;
for (@out) {
$_=hex;
}
return wantarray ? @out : $out[0];
}
------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) I2C接続のLCDディスプレイを使う 2 2023/05/01 17:15
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- 工学 Pythonの3Dグラフ表示に関する質問です。 1 2022/12/06 15:03
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- Perl perlについての質問 2 2022/10/17 15:25
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
例外処理のフローチャートの記...
-
”:”がいっぱいの文について。
-
モジュールとサブルーチン
-
Attempt to free unreferenced ...
-
Excel VBAで、ユーザーフォー...
-
COBOLで、Shellを起動するには?
-
use baseしたpackageのローカル...
-
アセンブリプログラムのcallし...
-
ExcelVBA AddinでOnAction
-
PerlEditorのようなエディタ
-
同じコンボボックス、リストボ...
-
ACCESSのVBAでPrivate Sub ~en...
-
配列Xの最大値、最小値を求める...
-
ファイルを出力させる方法
-
Excel VBAでリンク切れをチェッ...
-
VBでグローバル変数を宣言するには
-
VBA This Workbookモジュール...
-
VBAで別モジュールへの変数の受...
-
標準モジュールを削除したい。(...
-
ユーザー定義関数に#NAME?が返...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
例外処理のフローチャートの記...
-
Excel VBAで、ユーザーフォー...
-
COBOLで、Shellを起動するには?
-
モジュールとサブルーチン
-
”:”がいっぱいの文について。
-
ExcelVBA AddinでOnAction
-
オフコン(富士通Kシリーズ)...
-
ACCESSのVBAでPrivate Sub ~en...
-
VBAで2重のDoLoop関数から抜け...
-
fortran95実行エラー
-
perlの構文でカンマの意味が分...
-
プログラムの可読性が悪いです...
-
Perlのサブルーチンの引数引継ぎ?
-
サブルーチンを認識しません。
-
GOSUB命令とは
-
Inline CでOpenMPは使えますか?
-
初歩的な質問なのですが、サブ...
-
サブルーチンに引数を2つ以上...
-
BASIC言語で時差を求めるには?
-
cobol サブルーチンのlink
おすすめ情報