私は自分のカスタムを書こうとしています。validateParameter
perlの関数です。 私も作品次のコードを持って実際:関数のパラメータがperlの文字列であるかどうかをチェックする方法
sub validateParameter {
my ($args, $list) = @_;
if (ref($list) eq "ARRAY") {
foreach my $key (@$list) {
if (not defined $args->{$key}) {
die "no $key given!";
}
}
}
#elsif (check if string) {
#}
}
を私は次のように私の関数を呼び出すようにしたい:
validateParameter({ hallo => "Welt", test => "Blup"}, ["hallo", "test"]);
が、私はまた、このように私の関数を呼び出すしたい:
validateParameter({ hallo => "Welt", test => "Blup"}, "hallo");
指定されたargが "文字列"かどうかを確認するにはどうすればよいですか?
私は、perlには次の3つのデータ型(スカラー、ハッシュ、配列)しか持たないことが分かります。しかし、変数が文字列かどうかを調べるスマートな方法があるかもしれません。
皆様に感謝します。
"数字"ではなく "文字列"を意味しますか?または "arrayref/hashref/..."とは対照的に "string"ですか?その後、['ref'](http://perldoc.perl.org/functions/ref.html)が(あなたがすでに行ったように)行く方法です。単純な非refスカラー( '$ list'のような)のための空文字列を返します。 – PerlDuck
Ohh okay私のせいだ。この投稿は完了です。ありがとう@PerlDuck –