(記事番号419へのコメント)
えのやん@北九州さんは No.419「六代目寝助」で書きました。
|へ? 機種依存? Perl はエンディアン・フリーなはずだったが…。
|なんと AIX の Perl って、右シフト・ビット演算が駄目じゃん。思いっきり機種依存。
|とほほほほ。
具体的にどう駄目か。簡単なビットシフトのスクリプトを走らせると一目瞭然。
#! /usr/bin/env perl
$L=0x080008000;
for(0..31){
printf("%2d: %08x\n",$_,$L>>$_);
}
#-----
このスクリプトの結果の表示は、
0: 80008000
1: 40004000
2: 20002000
3: 10001000
4: 08000800
5: 04000400
6: 02000200
7: 01000100
8: 00800080
...
となるべきなのに、ここのサーバの perl で実行すると、
0: 80008000
1: c0004000
2: e0002000
3: f0001000
4: f8000800
5: fc000400
6: fe000200
7: ff000100
8: ff800080
...
サインビットを立てたまんま、ずるずると引きずりやがる…。
This is perl, version 5.003 with EMBED
built under aix at Feb 5 1997 18:00:23
+ suidperl security patch
バージョンが、ちょっと古めなせいもあるかもしれないが。
# ふつう Perl で、ビット演算させようなんて思わないよなぁ。
HP-UX は、どうですか?>sabimaru殿
|