本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX 11i バージョン 3 リリースノート: HP 9000 サーバー および HP Integrity サーバー > 第10章 ライブラリとプログラミング

Perl

≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

Perl は、オープンソースコミュニティによって開発と改良が行われている高級プログラミング言語です。Perl は、多数のツールや言語 (特に C、awk、sed、sh、BASIC など) から、優れた機能を取り入れています。

HP-UX 11i v3 用のバージョンは、5.8.8 ビルド 817.1 です。

変更の概要

HP-UX 11i v1 September 2005 から移行するユーザーの場合

  • chdirchmodchown は、システムがそれぞれ fchdirfchmodfchown をサポートしていれば、ファイル名だけでなくファイルハンドルに対しても使うことができます。

  • h2xs に新たにオプション、--use-xsloader が追加されました。このオプションを指定すると、以前のバージョンとの互換性があるモジュールに対しても XSLoader が使われます。負の値を持つ列挙型は読み飛ばされるようになりました。

  • Perlivp に、新たにオプション-a が追加され、デフォルトでは *.ph ファイルがチェックされなくなりました。すべてのテストを実行するには-a オプションを指定してください。

  • いくつかのモジュールが最新のリビジョンにアップグレードされました。

  • 今回のリリースでは、以下に示す不具合が修正されました。

    • -w を指定したときに警告「カテゴリ」が正しく表示されない

    • 過剰な最適化の除去

    • sprintf() の修正

    • デバッガと Unicode の速度低下

  • 長いホスト名/ノード名がサポートされます。

  • Perl インタプリタで、サイトカスタマイズスクリプトを使うことができるようになりました。

  • Config.pm は、頻繁には使われないコードと %Config 値をオンデマンドでロードするようになったため、32K でなく、約 3K となりました。

  • C ソースコードのかなりの部分を作成しなおしたため、整理されて保守がしやすくなりました。

  • ${^UTF8LOCALE} が追加され、Perl 空間から PL_utf8 ロケールへアクセスできるようになりました。

  • SV head と大部分の SV body を割り当てるために使われるアリーナのサイズが、コンパイル時に変更できるようになりました。

  • HP-UX 11i v3 から、Perl を埋め込んでいるすべてのアプリケーションは、Perl が-DPERL_USE_SAFE_PUTENV を使ってコンパイルされたものとして動作します。

  • 大部分の C ソースファイルでは、先頭に目的を説明するコメントが付けられました。これは、実装について概略を知りたい人に役立ちます。

  • デバッガは、後戻りする機能をエミュレートできるようになりました。この機能は、再起動して、保存されているコマンド履歴の最後のコマンド以外を再実行することによって実現されています。lib/perl5db.pl は、すべてのデバッガコマンドを後から再実行するために保存できるようになりました。また、指定されたクラスの親継承ツリーを表示することもできるようになりました。

HP-UX 11i v2 June 2006 から移行するユーザーの場合

「HP-UX 11i v1 September 2005 から移行するユーザーの場合」を参照してください。

影響

前述の内容以外の影響はありません。

互換性

Perl 5.8 では、Perl の以前のリリースの XS モジュールとのバイナリ互換性がありません。XS モジュールは再コンパイルする必要があります (純粋な Perl モジュールはそのまま動作します)。

互換性がなくなった大きな理由は、PerlIO と呼ばれる新しい IO アーキテクチャです。PerlIO は、これを使わないと Perl 5.8 の多くの新しい機能が使用できないため、デフォルトで構成されます。言い換えると、XS コードを含んでいるモジュールだけを再コンパイルすれば良いことになります。

新しい安全なシグナルの実装により、(低レベルのオペコードの実行の合間で) 安全になるまでシグナルの処理が延期されます。この変更によって、シグナルが Perl に対してすぐに割り込まなくなるため、予期しない副作用が発生する可能性があります。

性能

  • 弱い参照の作成は、O(n) ではなく O(1) になりました。弱い参照の削除は O(n) のままですが、プログラムの終了時にだけ削除が行われる場合は、完全に省略することができます。

  • sort のメモリー使用量を削減する改良が行われたため、場合によっては実行速度が向上します。

  • 実行ファイルのうち、オペレーティングシステムがプロセス間で共有できる部分の比率を増やし、マルチユーザーシステムでの実メモリーの使用量を削減するために、C ソースファイルのできるだけ多くのデータが static に変更されました。

  • ithreads のクローニングで使われる内部ポインターマッピングハッシュでは、メモリー割り当てにアリーナが使われるようになりました。この変更により、テストでは、ithreads のクローニングに必要な時間が約 10% 減少しました。

  • reverse sort ...では、逆ソートが最適化され、一時的な中間リストを生成しないで済むようになりました。

  • for (reverse @foo) では、逆順に繰り返すようにし、一時的な逆順のリストを生成しないで済むようになりました。

廃止された機能

廃止された機能はありません。

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 2006-2007 Hewlett-Packard Development Company, L.P.