いくつかのperlを解説したページを読んでみたのですが、
以下の文でフォーマットとしての"%02x"の意味と
「^」(演算子?)の意味がわからずつまづいてます。

$val =~ s/./sprintf("%02x",ord($&)^ord($aaa[$i++ % @aaa])))/ge

どなたか教えてください・・・

このQ&Aに関連する最新のQ&A

A 回答 (2件)

これは出力のフォーマットですね。


まず x は16進数の小文字を出力する指示。その前の02ってには「左側にゼロを詰めた2桁」って意味です。

Cのリファレンスを探して printf の書式を調べてみてください。
検索してたらPHPのがヒットしましたが、意味は同じです。>参考URL

参考URL:http://www.asakawa.ne.jp/doc/php/ja/sjis/functio …
    • good
    • 0
この回答へのお礼

ありがとうございます。
Cと同じ意味なんですね。

左側に0を詰めた2桁ですか、なるほど。

お礼日時:2001/01/22 12:10

"%02x"についてはshigatsuさんが書いているとおりなので省略。


「^」は排他的論理和を表すビット論理演算子です。

この説明でわからなければ、コメントで補足してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
xorですね。

perlだと[^ABC]などとしたときに意味が違ってくるので、
何か複雑に考えてしまったようです。

お礼日時:2001/01/22 12:12

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング