DIY

DIY

私はこれらの2行を見つけて、彼らが何をしているのかを調べようとしましたが、それがコードで何を意味するのかはまだ疑いがありません。私が言うコードは次のとおりです。

my $mapped_from = ($num_phones_in == 60)? = $1 : $2;
my $mapped_to = ($num_phones_out == 48)? = $2 : $3;

括弧の後に疑問符がある変数()が何をしているのかわかりません。そして、ドル記号(変数)があり、コロンで区切られた2つの数字が何を意味するのかわかりません。

コードの詳細を提供するために、このセクションでは次のファイルを使用します。

ah X /
au u aU

列にはそれぞれ60、48、39行があります。誰かが私に手がかりを与えることができたら、私は少し迷子になったので、本当に感謝します。

ベストアンサー1

my $mapped_from = ($num_phones_in == 60)? = $1 : $2;

構文エラーです。test ? val_true : val_false はい「三項演算子」、お問い合わせインライン形式ですif-else。 trueの場合はtestこのval_true部分が計算され、testfalseの場合はこのval_false部分が計算されます。疑問符は括弧には関係ありません。しかし、これは= $1正しい表現ではありません。

=追加のエントリがない場合は60($num_phones_in == 60)? $1 : $2;であることを確認し、$num_phones_inそれに応じて$1ORを返します$2

$1および$2(等) は、前の正規表現でキャプチャグループの内容を参照する変数です。そうすると、"afoob" =~ /a(.*)b/その内容が$1含まれますfoo。バラよりperlvarの正規表現関連変数

おすすめ記事