これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションの587つを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドperlXNUMXdeltaです。
プログラム:
NAME
perl587delta-perlv5.8.7の新機能
DESCRIPTION
このドキュメントでは、5.8.6リリースと5.8.7リリースの違いについて説明します。
互換性がない 変更
5.8.6 と互換性のない変更はありません。
ペース: 機能強化
Unicode 人格 データベース 4.1.0
Perl5.8に含まれているUnicode文字データベースのコピーが4.1.0に更新されました
4.0.1から。 見るhttp://www.unicode.org/versions/Unicode4.1.0/#NotableChanges>
注目すべき変更。
スイドパール less 安全でない
コードのデバッグを伴う「suidperl」の XNUMX つのエクスプロイトがクローズされました。
新しいプロジェクトの場合、コア Perl チームは専用の単一のプロジェクトを使用することを強く推奨します。
「suidperl」ではなく「sudo」などのセキュリティ ツールを使用してください。
オプション ウェブサイト カスタム化 スクリプト
Perl インタープリターを構築すると、サイト カスタマイズ スクリプトを使用できるようになります。 による
以前の Perl リリースとの一貫性を保つために、デフォルトではこれは有効になっていません。 これを使用するには、
「Configure」スクリプトを実行するときに、コマンド ライン フラグに「-Dusesitecustomize」を追加します。
perlrun の「-f」も参照してください。
「構成.pm」 is 今 ずっと 小さい。
「Config.pm」は、使用頻度の低いコードと %Config を含めて、3K ではなく約 32K になりました。
値はオンデマンドでロードされます。 これはプログラマには透過的ですが、ほとんどのコードは
29K のスクリプト (たとえば、「File::Find」を使用するコード) の解析とロードが節約されます。
モジュール プラグマタ
· B バージョン 1.09 にアップグレード
· ベースがバージョン 2.07 にアップグレードされました
· bignum がバージョン 0.17 にアップグレードされました
· バイトがバージョン 1.02 にアップグレードされました
· Carp がバージョン 1.04 にアップグレードされました
· CGI がバージョン 3.10 にアップグレードされました
· Class::ISA がバージョン 0.33 にアップグレードされました
· Data::Dumper がバージョン 2.121_02 にアップグレードされました
· DB_File がバージョン 1.811 にアップグレードされました
· Devel::PPPort がバージョン 3.06 にアップグレードされました
· ダイジェストがバージョン 1.10 にアップグレードされました
· エンコードがバージョン 2.10 にアップグレードされました
· FileCache がバージョン 1.05 にアップグレードされました
· File::Path がバージョン 1.07 にアップグレードされました
· File::Temp がバージョン 0.16 にアップグレードされました
· IO::ファイルがバージョン 1.11 にアップグレードされました
· IO::Socket がバージョン 1.28 にアップグレードされました
· Math::BigInt がバージョン 1.77 にアップグレードされました
· Math::BigRat がバージョン 0.15 にアップグレードされました
· オーバーロードがバージョン 1.03 にアップグレードされました
· PathTools がバージョン 3.05 にアップグレードされました
· Pod::HTML がバージョン 1.0503 にアップグレードされました
· Pod::Perldoc がバージョン 3.14 にアップグレードされました
· Pod::LaTeX がバージョン 0.58 にアップグレードされました
· Pod::Parser がバージョン 1.30 にアップグレードされました
· シンボルがバージョン 1.06 にアップグレードされました
· Term::ANSIColor がバージョン 1.09 にアップグレードされました。
· Test::Harness がバージョン 2.48 にアップグレードされました
· Test::Simple がバージョン 0.54 にアップグレードされました
· Text::Wrap がバージョン 2001.09293 にアップグレードされ、次のようなバグが修正されました。 wrap() で呼ばれた
スペース以外の区切り文字。
· thread::shared がバージョン 0.93 にアップグレードされました
· Time::HiRes がバージョン 1.66 にアップグレードされました
· Time::Local がバージョン 1.11 にアップグレードされました
· Unicode::Normalize がバージョン 0.32 にアップグレードされました
· utf8 がバージョン 1.05 にアップグレードされました
· Win32 がバージョン 0.24 にアップグレードされ、Win32::GetFileVersion が提供されました。
ユーティリティ 変更
find2perl 強化
「find2perl」には、新しいオプション「-iname」、「-path」、「-ipath」が追加されました。
パフォーマンス 機能強化
ithread のクローン作成中に使用される内部ポインタ マッピング ハッシュは、次のアリーナを使用するようになりました。
メモリの割り当て。 テストでは、これにより i スレッドのクローン作成時間が約 10% 短縮されました。
インストール 改善点
· Win32 "dmake" makefile.mk が更新され、最新のバージョンと互換性がありました。
dmake のバージョン。
· 「PERL_MALLOC」、「DEBUG_MSTATS」、「PERL_HASH_SEED_EXPLICIT」、および「NO_HASH_SEED」が必要になりました
Win32 Makefile で動作します。
選択した バグ 解消された問題
・ ソケット() Win32 上の関数が修正され、トランスポートを使用できるようになりました。
プロトコル 0 (任意のプロトコルが許可されることを意味します) をもう一度指定するプロバイダー。
(これは 5.8.6 で壊れており、通常は ICMP ソケットの使用が失敗する原因となっていました。)
· 不適切な内部オフセット キャッシュが原因で発生する、「substr」と UTF-8 に関連するもう XNUMX つの不明瞭なバグ
が特定され、修正されました。
· 正規表現エンジンによる UTF-8 テーブルのロードに関連するバグが修正されました - コード
「"\x{100}" =~ /[[:print:]]/」などの場合、破損した結果が得られなくなりました。
· 長い Unicode 文字列に対する「uc」などの大文字と小文字の変換操作は、メモリを使い果たす可能性があります。
これは修正されました。
· Unicode データと非 Unicode データの一部の組み合わせでは、「index」/「rindex」にバグがありました。
これは修正されました。
· "read" (おそらく "sysread") は、ファイルから読み取るときに UTF-8 の内部を公開します。
バイト指向のファイル ハンドルを UTF-8 スカラーに変換します。 これは修正されました。
· いくつかの「パック」/「アンパック」バグ修正:
· 「b」または「B」形式のチェックサムが壊れていました。
· 「unpack」チェックサムが「C」形式でオーバーフローする可能性があります。
· 「U0」と「C0」は「()」「パック」サブテンプレートにスコープされるようになりました。
· カウントされた長さのプレフィックスは、「C0」/「U0」モードを変更しなくなりました。
・「パック」「Z0」は前のキャラを破壊するのに使用します。
· リテラルの「undef」のみを認識するために使用される「P」/「p」「pack」形式
· ithread でクロージャを使用すると、Perl がクラッシュする可能性があります。 これは、
内部 OP 構造を正しくロックし、修正されました。
· 「close」の戻り値は、実行中に発生したファイル エラーを正しく反映するようになりました。
実際の基になる場合に単に失敗を与えるのではなく、ハンドルのデータをフラッシュします。
ファイルを閉じる操作が失敗しました。
· "not() || 1" はセグメンテーション違反に使用されます。 「not()」は次のように動作するようになりました (0)、これは以前の
5.6.0 の動作。
· 「h2ph」には、以前はヘッダー ファイル内の構造に対処するためのさまざまな機能拡張が施されています。
不正確または無効な出力が発生します。
New or かわった 診断法
新しい汚染エラー「%ENV は %s のエイリアスです」が発生しました。 このエラーは汚染時にスローされます
チェックが有効になっており、*ENV がエイリアス化されているため、%ENV には env-magic が存在しません。
したがって、環境に汚染がないことを検証することはできません。
「pack」と「unpack」の内部が更新されました。 すべての正規のテンプレートは、
以前と同様に動作しますが、複雑な障害に対して報告されるエラーにはいくつかの変更がある可能性があります。
ケース。 エラー以外の場合の動作の変更はバグであるため、報告する必要があります。
かわった 内部
「C」ソースコードのかなりの量のリファクタリングが行われました。
より整頓され、よりメンテナンスしやすくなります。 結果として得られるオブジェクト コードと「perl」バイナリは次のようになります。
5.8.6 より小さく、場合によっては高速になることが期待されますが、これとは別に、
ユーザーが検出できる変化がないこと。
Perl 空間に「PL_utf8locale」へのアクセスを与えるために「${^UTF8LOCALE}」が追加されました。
SV ヘッドとほとんどの SV ボディの割り当てに使用されるアリーナのサイズは、次の場所で変更できるようになりました。
コンパイル時間。 古いサイズは 1008 バイトでしたが、新しいデフォルトのサイズは 4080 バイトです。
知られている 問題
オーバーロードされた演算子から返される Unicode 文字列にはバグがある可能性があります。 これは長年続いている
5.8.6 のリリース以降にバグが報告されていますが、適切な修正はまだありません。
Platform 特定の 問題
UNICOS では、lib/Math/BigInt/t/bigintc.t が CPU の書き込み中にハングします。 ext/B/t/bytecode.t および
ext/Socket/t/socketpair.t は両方ともテストに失敗します。 これらは解決されそうにありません。
勇敢な UNICOS ポーターの最後の Cray が廃止されます。
レポート作成 バグ
バグだと思うものを見つけた場合は、最近投稿された記事を確認してください。
comp.lang.perl.miscニュースグループとperlバグデータベース http://bugs.perl.org。 そこ
での情報かもしれません http://www.perl.org、Perlホームページ。
報告されていないバグがあると思われる場合は、 パールバグ に含まれるプログラム
あなたのリリース。 バグを小さいながらも十分なテストケースに切り詰めてください。 あなたのバグ
レポートは、「perl-V」の出力とともに、に送信されます [メール保護] ようにするには
Perl移植チームによって分析されました。 Perl5のバグを参照して検索できます。
http://bugs.perl.org/
onworks.netサービスを使用してオンラインでperl587deltaを使用する