Go to the first, previous, next, last section, table of contents.

変換関数

gmtime

  • gmtime(EXPR)
  • gmtime EXPR time 関数が返す時間を Greenwich timezone として 要素数 9 の配列に変換する。典型的に以下のように使用される。
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
            gmtime(time);
    
    配列の全要素は数値であり、 struct tm から直接得られたものである。 このため、$mon は 0 から 11 まで、 $wday は 0 から 6 までの値を取る。 EXPR を省略すると、gmtime(time) を実行する。

    localtime

  • localtime(EXPR)
  • localtime EXPR time 関数が返す形式の時間を local timezone として 要素数 9 の配列に変換する。典型的に以下のように用いる。
    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
            localtime(time);
    
    配列の要素はすべて数値で、struct tm から直接得られるものである。 このため、$mon は 0 から 11、$wday は 0 から 6 の値を取る。 EXPR を省略すると、localtime(time) を実行する。 See section 数学関数.

    hex

  • hex(EXPR)
  • hex EXPR EXPR を 16 進文字列であると見なして 10 進値を返す (0 または 0x で始まる文字列の変換については oct() を参照。)。 EXPR を省略すると、$_ を使用する。

    oct

  • oct(EXPR)
  • oct EXPR EXPR の値を 8 進文字列であると解釈してその 10 進値を返す。 (EXPR0x で始まる場合は代わりに 16 進文字列であると解釈する。) 次の例では、標準的な記述による 10、8、16 進を扱うことができる。
    $val = oct($val) if $val =~ /^0/;
    
    EXPR を省略した場合、 $_ を使用する。

    ord

  • ord(EXPR)
  • ord EXPR EXPR の最初の文字の ascii value を数値で返す。 EXPR を省略すると、$_ を使用する。

    vec

  • vec(EXPR,OFFSET,BITS) 文字列を unsigned integer のベクトルとして扱い、指定した bitfield の値を返す。 代入もできる。BITS は 2 の 1 乗から 32 乗まででなければならない。 vec() が返すベクトルは論理演算子 |&^ を用いて 操作できる。両オペランドが文字列の場合はビットベクトル演算であると仮定する。 この解釈はプログラムに少なくとも一つの vec() がないとなされない。 (古いプログラムを守るため) ビットベクトルを文字列や 0 と 1 の配列に変換するには、 次のようにすればよい。
    $bits = unpack("b*", $vector);
    @bits = split(//, unpack("b*", $vector));
    
    正確なビット長がわかっているなら、 * の代わりにそれを使うことができる。

  • Go to the first, previous, next, last section, table of contents.