タイトル

Synopsis 29:組込み関数

著者

Rod Adams <rod@rodadams.net>
Larry Wall <larry@wall.org>
Aaron Sherman <ajs@ajs.com>
Mark Stosberg <mark@summersault.com>
Carl Mäsak <cmasak@gmail.com>
Moritz Lenz <moritz@faui2k3.org>
Tim Nelson <wayland@wayland.id.au>
Carlin Bingham <carlin@theintersect.org>
 

機種

Created: 12 Mar 2005

Last Modified: 25 Jun 2011
Version: 51
 

ドキュメントはドラフトだ。

もしあなたが HTML 版を読んだなら、それは https://github.com/perl6/specs/blob/master/S29-functions.pod の下で仕様リポジトリで Pod から生成される、それでもしあなたが変更をすることを望むなら、そこ、 git 倉庫でそれをエディットしろ。

注意する

Perl 6 に、すべての組込み関数は名前付きパッケージ(一般にクラスあるいはロール)のものだ。 すべての関数が CORE スコープの中に読み込まれることを保証されるわけじゃない。 付加、輸入された関数のリストで中にCORE Perl のそれぞれのリリースで変更を受け得るだろう。 「将来の証拠」それらコードに望んでいる著者が特にそれらが使うであろう関数を輸入するか、あるいは常にそれらのフルネームによっての関数に言及するべきだ。

6.0.0が出て来た後、グローバルな別名が軽く取り去られないだろう、そして決して少なくとも1年の非難サイクルを体験しないでまったく削除されないだろう。 とにかく、あなたはあなたが Perl の特定のバージョンのためにインタフェースを欲する、そして、セキュリティー更新が許す限りにおいて、それが Perl の後のバージョンによってエミュレートされることができることを明示することができる。

コードがここで与えられるところで、それは意味規則を定義して、実装を規定しないように意図される。

演算子対関数

ただ関数だけが文法的なカテゴリーを指定しないで、あるいはカテゴリーで宣言した演算子と関数の間のが、ドキュメンテーションのための、特定の相違がないterm:S02 で「ビットと小片」を見ろ)このドキュメントの範囲の外にある「演算子」として「関数」と他のすべてだと記述されるだろう。 (演算子のために S03 を見ろ。)

Multis 対関数

実際の事実で、ここで定義された「関数」の大部分が多 sub であるか、あるいは同じく多 sub として輸出される多メソッドだ。 Setting は CORE レキシカルスコープの中に(彼・それ)らの種々のパッケージからすべてのスタンダードマルチ sub を読み込むことに責任がある。 S02 を見ろ。

型宣言

次の型宣言は仮定される:

AnyChar

レベルの不注意なすべての「文字」型の根本的なクラス。

これはサブタイプであるのStrその最も高いサポートされた Unicode レベルで1の長さに限定されている。

型名Char 現在のレキシカルスコープ(「電流」が一般的なコード(ロールとマクロ)で終局のレキシカルスコープを意味するためにとられる、一般的なコードが定義されるスコープじゃないところ)の最大のサポートされた Unicode レベルに aliased される。 言い換えれば、使えChar あなたがあなたがどのレベルのために手紙を書いているか気にしないとき。

サブクラス(そうなものisa AnyChar):

CharLingua (言葉定義文字)
書記素(言語 - 独立書記素)
符号位置
バイト

はい、 Byte は文字列と数両方だ。

賛成の短い名前Grapheme 典型的にだChar なぜならそれはデフォルト Unicode レベルだから。 書記素がそのベース符号位置に申し込む符号位置を「結合して」ベース符号位置プラス次の何とでも定義される。 書記素が常にたまたま、前もって作曲された符号位置を持っている書記素に関しては、その符号位置と同じであるユニークな整数 id を割り当てられる。

賛成の短い名前がないCharLingua なぜなら型は特定の言語宣言の範囲の外(に・で)無意味だから。 実際、CharLingua それ自身インスタンスを作られることができない抽象型だ。 その代わりにあなたは名前が好むようにするCharFrenchCharJapaneseCharTurkishなどなぜならインスタンスを作られたCharLingua 型。 (そして文通することStrLingua 型、多分。)

照合回路
 subset Matcher of Mu where none(Bool)
 

マッチするべきテストを供給するために使われる。 仮定しろ~~ それに対して使用されるだろう。 それらがほとんど常に引数があまりにもまもなく誤りに対して評価されたプログラミングエラーを示すから、 Booleans は禁じられている$_.  例えば:

grep $_ == 1, 1,2,3;        # evaluating wrong $_, so forbidden
grep { $_ == 1 }, 1,2,3;    # okay
grep * == 1, 1,2,3;         # okay



 
注文
 subset KeyExtractor of Code where { .signature === :(Any --> Any) };
 subset Comparator   of Code where { .signature === :(Any, Any --> Int ) };
 subset OrderingPair of Pair where { .left ~~ KeyExtractor && .right ~~ Comparator };

 subset Ordering where Signature | KeyExtractor | Comparator | OrderingPair | Whatever;
 

ことの間に比較を扱うために使われる。 これがのよう関数で終わる Generally sort()min()max()など、 $ として、お互いに2つのものがどのように肉親を比較するかについての情報を提供する仮引数によって.

コンパレータ

命令することに対して、最初の引数に信号を送って、否定 / ゼロ / ポジティブを返す2の arity を持っているクロージャが「Perl 5 方法で」としても知られる second. で / 後にタイされた / の前にいるべきだ。

同等のためにクロージャは第2に最初の引数が同等であるかどうかを示して0ではなくあるいは0を返す。

KeyExtractor

(それによって)匹敵する「キー」を返す1の arity を持っているクロージャ。 値が使って比較されるcmp 順序付けのためにそしてeqv Perl 6 に異なった比較をする同等のために型に依存すること。 (あなたがそれと比較になるに違いない Perl 5 文字列順序を受けとるためにleg その代わりに。)

内部的に値についての KeyExtractor の結果はキャッシュされるべきだ。

シンプルを生み出すことは非常に容易であることに注意を払えKeyExtractor 使用方法~* 文字列のためにそして+* 数で、それ以来たいていの単純な演算子で* 1つの引数のクロージャを返す。

@sorted = sort +*, @unsorted;  #ascending numeric
@sorted = sort -*, @unsorted;  #descending numeric
 
OrderingPair

上記の2つのメソッドの組み合わせ、1(人・つ)が期待される内部にキーをキャッシュすることを利用することを望む時の間起きるために、しかしそれらを何かと比較するべき願望eqv あるいはcmpそんなものけれども<=> あるいはleg.

シグネチャー

もしシグネチャーが基準として明示されるなら、シグネチャーはそれぞれの値にバインドされる、そして次に、そのトレイトによって修正されるように、それぞれのパラメータが、その型によれば、位置のオーダーで比較をする。 基本的に、システムはシグネチャーに基づいてあなたのために重要な抽出と比較サブルーチンの主要部を書くだろう。

注文のために定位置パラメタ比較のリストは、[ || ]を使うかのように、減少している、しかしすべての比較が、もし初期の(の・もの・人)が増加あるいは減少している注文を決定するなら、行なわれる必要があるわけじゃない。 同等のためにリストは、[ && ]を使うかのように、減少している。

Whatever

注文の* 演算子のためにデフォルト比較をする:

@sorted = sort *, @unsorted;
 

関数パッケージ

コンテキスト

呼び出し側

見るcallframe そしてcaller 関数」> S06 で.

callframe

見るcallframe そしてcaller 関数」> S06 で.

eval
 multi eval ( Str|Buf $code, Grammar :$lang = CALLER::<$?PARSER>)
 

Execute $code それが書かれたコードであるかのように$lang.  もし$code 型の(こと・もの)だBufテクニックが(そのために)コンパイラとして適用される同じ解読$lang 通常、入力ファイルにするだろう。

賛成のデフォルト$lang eval 呼び出しの正確な位置において実施に言語だ。

何でも返す$code コンパイルが失敗するとき戻るか、あるいは失敗する。

Perl 5 にそれほど同じじゃない状態で注意する、eval 何のためにも例外あるいはコントロールの例外を捕えない。

evalfile
 multi evalfile (Str $filename ; Grammar :$lang = Perl6)
 

Perl 5 をのように振る舞って、そして取って代わるdo EXPRオプションで$lang サポートしろ。

終了しろ
 multi exit (Int $status = 0)
 

すべてのプログラム実行を止めて、そして戻る$status 呼び出している環境に。

辞任が適切なスコープ - 去ることがそんなものを阻止するすべてを走らせるLEAVEKEEPそしてUNDOすべてによって後に続かれたEND すべてによって後に続かれて、ブロックDESTROYちょうど記憶の返還を要求して、そしてそれで、それらがプロセスの外(に・で)目に見える副作用を持つかもしれないから、省略されることができないよりいっそう多くをするs。 もし埋め込みの通訳から動かされるなら、すべての記憶が同じく返還を要求されなくちゃならない。

[ TBD :スレッドの終了ポリシー]

眠れ
 our Num multi sleep ( Num $for = Inf )
 

上へ賛成の睡眠にそうしようと試みろ$for 秒ごと。 実装が、もしそれがまったく可能であるなら、 sub - 第2の解決をサポートするよう義務づけられる。

見ろSynopsis 17: Concurrency もっと多くの詳細のために。

死ね
 multi die (@LIST)
 

致命的な例外をスローする。 デフォルト例外ハンドラは $* ERR (標準エラー出力)への傾きのそれぞれの要素を印刷する。

失敗しろ
 multi fail (Str $message)
 

ただルーチンの中に呼び出されることができて、そしてルーチンをそうさせるreturn スローされない例外;Failure それが文字列化するオブジェクトをそうすること$message.  もしuse fatal ルーチンが呼び出された、それが例外をスローするところ(に・で)実施される。

変換

祝福しろ
 our Object method bless(Object::RepCandidate $candidate, *@protos, *%init_args)
 

呼び出しているbless 何に関してでも同じで新しいオブジェクトを作る(ただ典型的に型オブジェクト)がインボカントとして分類するインボカント。

$candidate オブジェクトの基礎をなしている代表を提供するために使われる。 デフォルトはそうだP6opaque、種々の他の表示以外他の言語でインターオペレートするとき特に、切望されるかもしれない。 @protos そして%init_args 両方ともは、デフォルトにおいてとまったく同じように、値が新しいオブジェクトに供給されるための方法を提供するnew メソッド。

bless 自動的に適切なすべてを呼び出すBUILD 呼び出すことによって定常課程BUILDALL 大部分によって得られたオーダーに最少によって得られ中にオブジェクトを初期化する現在のクラスのためのルーチン。 オブジェクト作成で S12 でもっと多くの詳細情報のためにオブジェクトを見ろ。

chrs
ords
chr
ord
 multi sub chrs( Int *@grid  --> Str )
 multi method ords( Str $string: --> List of Int ) is export
 multi method chr( Int $grid: --> Char ) is export
 multi method ord( Str $string: --> Int ) is export
 

chrs ゼロあるいはもっと多くの整数書記素 id をとって、そして文字列として対応する文字を返す。 もしレキシカルスコープがサポートする電流、その書記素がそうであるより高い抽出レベルを表す書記素 id が使われるなら変換したから、他の Str がそうであろう何でもコンテキストで低く見たのとちょうど同じように、現在の実利的なコンテキストに適切であるであろう符号位置 / バイトの対応するより低レベルの文字列。

ords 他の指示が言う;それは整数として文字列に値、帰りに文字値を要する。 文字の定義はプラグマ依存だ。 通常それは書記素 id だ、しかし符号位置あるいはバイトスコープの下で、文字列は適切な低レベルのビューに強制されて、そして符号位置あるいはバイトとして解釈される。 従って、「バイトを使え」の下であなたは決して256より大きい値を見ないだろう、そして「使用符号位置」の下であなたは決して 0x10ffff より大きい値を見ないだろう。 「使用書記素」(デフォルト)の下の唯一の保証は返された数が、もしこのような符号位置があるなら、書記素を表している前もって作曲された符号位置の符号位置に対応するであろうということだ。 さもなければ、実装は何も 0x10ffff よりそれほど大きいユニークな id リターンすることが自由だ。 (chr 関数が符号位置あるいはバイトに適切にこのような id を backtranslate するノウハウに何ででもコンテキストを遺言で残す。 我々がすべての符号位置のコンテキストがその正規化プリファレンスを知っている、そしてすべてのバイトのコンテキストが同じくそのエンコーディングプリファレンスを知っていると想定していることに注意を払え。 (これらは $? としてのレキシカルスコープで理解可能だNFと $? Enc コンパイル時定数))

chr そしてord 変形は、一つの文字を処理することに、限定されている。 習慣的であるように、あなたはより長い文字列をパスするかもしれないそうすることordただ、ただ最初の文字が翻訳されるだろう。

項目
 our Item multi item ( $item )
 

その引数に一般的な項目コンテキストを押し付けて、そしてそれを返す。

傾け
 our List multi list ( Iterable $item ) { $item.iterator.list }
 our List multi list ( List \$iter ) { $iter }
 

ほとんど無操作命令が;ただ $item が反復されることができることを確認する。

平面
 our List multi flat ( *@list )
 

その引数に平らなコンテキストを押し付けて、そしてそれらを返す。 仕事がされる悪漢*@ バインディング。

lol
 our List multi lol ( **@list )
 

lol (「リストのリスト」)コンテキストで引数リストに評価されることを強いる。 (添え字が多次元のスライスのようなリストのリストを扱う。) Any Parcel 外のリストのレベルが変換されるであろうトップの中でSeq.  仕事は実際にバインディングによってされる to the **@ パラメータ。 同じくいっそう一般的な人たちに会え.tree そうするためのメソッド、どちらが義務を怠るかlol 意味規則。

ハッシュ

hash contextualizer

 our Hash multi hash ( *@list )
 

引数リストにハッシュコンテキストで評価されることを強いる。 展開式はリストコンテキストで評価される(何でも平らにするCaptures) それから、ハッシュがリストから作られて、リストと思われるだろうのPairs.(それがそうであるリストの Any 要素Pair キーであって、そしてその値としてリストで次の値をつかむふりをするだろう。) 同等そうすること%() (その空き以外%() 手段%($/)空である間に、hash() 空のハッシュを意味する).

要点
 our Str multi gist( |$item )
 our Str multi method gist( Mu $item: )
 

例えば非公式の文字列威圧政治、人が、もしデバッグしているなら見ることを望むかもしれない何か、を作り出す。 それぞれの型がそれ自身の要点代表を決定するかもしれない。 Mu.gist ただ呼び出し.perlしかしどんな型でものgist メソッドが人がビットは別として教えることか、あるいは少しより短い何かへの無限の傾きをトリムするために cluttery 、あるいは冗長であることか、あるいは適切な空白文字で合成の値をフォーマットするのが分かるであろう metainfo を削除するためにこれをオーバーライドするかもしれない。

gist 特に、種々の人に直面する出力ルーチンのそれぞれの個別の引数の上の最後の文字列威圧政治として使用されるsaynotewarnそしてそうするためのどんな卓越していない引数でもdie.print それがプリンターに出力することだから、関数が特に除外される。 :-)

:16:8:2:10
 our Num multi prefix:<:16> ( Str $hexstr )
 our Num multi prefix:<:8> ( Str $octstr )
 our Num multi prefix:<:2> ( Str $binstr )
 our Num multi prefix:<:10> ( Str $decstr )
 etc.
 

デフォルト16進数 / 8進数 / 2進 / 10進基数で、数として文字列を解釈する。 Any 底接頭辞(0b 、 0d 、 0x 、 0o)が中に文字列がこの演算子をオーバーライドするであろうと述べた(この文は真の:10だ== :8(「0d10」))、 0b と 0d が「16」によって 16進数字として解釈されるであろうことを除いて(hex("0d10") == :16 "0d10"). fail失敗に関するs。

これらは、統語論上、本当に関数じゃない、しかし副詞のフォームがたまたまそれほどちょうど許す引数を括弧で括る. けれどもいっそう典型的にあなたは見るだろう

:4<222>
:16<deadbeef>
 

そしてそんなもの。

Perl 5 に取って代わるhex そしてoct.

OS

gethost
 our OS::Name multi gethost()
 our OS::Name multi gethost( Str $name, OS::Addfamily :$type )
 our OS::Name multi method gethost( OS::Addr $addr: ) is export
 our OS::Name multi method gethost( URI $uri: ) is export
 

gethost 関数がホストの指名あるいはアドレス情報に作用して、そして戻るOS::Name.OS::Name 存在する、ほんのわずかだけ:

 class OS::Name {
   has Str $.name;
   has OS::Addr $.addr;
   has Array of Str @.aliases;
   has Array of OS::Addr @.addrs;
 }
 

このような名前は住所にマップする名前を持っている何にでも当てはまることができる、しかしながら、この場合名前はホスト名だ、そしてアドレスはある種のネットワークID (例えば IPv4 演説を持っているホストを変換している IPv4 アドレスいつ)だ。

文字列化されたいつOS::Name その名前をもたらす。 文字列化されたいつOS::Addr 適切なテキスト形式(例えば IPv4 アドレスのための「10.1.2.3」)のそのアドレスをもたらす。

オプションtype 副詞は、ホスト名を変換するとき、宣告され得て、そしてただ適切なアドレス家族の(こと・もの)であるそれらのアドレスだけに結果をフィルターするだろう。 この特徴は基礎をなしているオペレーティング・システムによってサポートされるかもしれない、あるいは Perl はそれを模倣するかもしれない。

例:

  say "Connection from {$socket.peer.gethost}";
  my $address = gethost("foo.example.com").addr;
  my $hostname = gethost(:addr<"10.1.2.3">);
 
chroot
 our Bool multi chroot ( Str $path = CALLER::<$_> )
 

POSIX システムで、このようなそれほど「ルート」的なディレクトリがなる現在のプロセスのプロセス環境を変える$path そしてすべての根付いたパス(先行するパスセパレータから始まるそれら)はそのパスに相対的だ。 セキュリティー理由で、多くのオペレーティング・システムがこの機能性をスーパーユーザに制限する。 帰りの値は成功の上に真だろう。

getlogin
 our Str multi getlogin ()
 

プログラムを走らせているアカウントのユーザ名を返す。 これは使うことほど安全じゃないかもしれないgetpwuid 若干のプラットホームの上に。

獲物
 our Bool multi kill ( OS::Signal $signal, Bool :$group, *@pids )
 our Bool multi method kill ( Proc::PID $pid: OS::Signal $signal?, Bool :$group )
 

既定の事実を送る$signal 与えられたプロセス(es)と帰りに、もしプロセスの何も存在しなかったなら、もしプロセスのすべてが存在して、そしてそうであったなら、成功(真)を示しているブール値がシグナルと失敗(偽)を送った、あるいはシグナルはそれらに届けられることができなかった。

$signal 1整数信号数あるいは文字列から初期化されることができる。 共通シグナルがそうだ:

 KILL - stop the process, do not allow it to exit gracefully
 TERM - stop the process, allow it to exit gracefully
 HUP  - Hangup, often used as a request to re-run from scratch
 STOP - Pause execution
 CONT - Continue after a STOP
 

信号名前と番号の全リストのためにあなたの操作上のシステムドキュメンテーションを調べろ。 互換性のために、信号名が「SIG」によって前接続されているかもしれない。

メソッドフォームはシグナルを省略するかもしれない。 この場合、デフォルトシグナルはそうだ'TERM'.

もし:group 名指されたパラメータは通過する、kill 一つのプロセスよりむしろプロセスグループにシグナルを送ろうと試みるだろう。 この機能性はプラットホームに特定されている。

特別なシグナル0 どちらが実際に送られてもまったくシグナルを届けることができて、そしてプロセスがまだ走っているかどうか決定するために使われる:

  say "Still running" if $proc.kill(0);
 
失点 = 項目殻


 our Proc::Status multi shell ( $expression,   :$bg,  :%env = %*ENV )
 our Proc::Status multi run   ( *$cmd, *@args, :$bg,  :%env = %*ENV )
 

shell そしてrun 外部プログラムを実行して、そして、プログラムが終了した途端に、コントロールを呼び出し側に返せ。

shell システムシェルを詳細調査する(cmd 窓の上に、/bin/sh Unixish システムで)、それですべての usuall 殻メタキャラクターを解釈する.

run 位置の引数の最初の実行可能な名前と休養としての引数をパスするコマンドライン引数として扱うから exectuable がどんな処理でもない(それが最初にバッファーに文字列をコード化すること以外そうするshell).

いずれかの関数のリターン値はプログラムの終了ステータスであって、そして次のコンテキストで評価されることができる:

 Bool - True = success; False = failure
 Int  - Exit status (per the .exit method)
 

見ろwait もっと多くのどのようにかについての詳細のためにProc::Status オブジェクトが使われる。

実行することに関しての失敗、定常課程の上にfail().

もし:bg 名指されたパラメータは通過する、プログラムはバックグラウンドで実行されるだろう、そして、子プロセスが作成されるとすぐに、実行コマンドは戻るだろう。 オブジェクトが返したこの手段は実際にであるProcそれは作られたプロセスを表す。

[メモ:がそうするべきだ: bg 書式撮影ファイルハンドルを rw するか、あるいは点の機能性に過度に負荷をかけ過ぎるそれである ? 失点は外部のコードを制作すること【に関して】新しいオープンであるべきか? - ajs ]

[推測:多分 () がサポートするべきである殻 () とラン:$cwd = $*CWD パラメータ - moritz ]

runinstead
 multi runinstead ( ; Str $path, *@args )
 multi runinstead ( ; Str $command )
 

同一そうすることrun それ以外それは決して戻らない。 実行されたプログラムはメモリでの現在ランニングのプログラムを置き換える。

syscall

同時発生

Perl に並列化マネージメントのもっとレベルが高いモデルがある(S17 での同時発生参照)。 これらの関数はただ最低レベルの手段だ

フォーク
 our Proc sub Processes::fork()
 

現在のプロセスのコピーを作る。 両方のプロセスが戻るからfork.  プロセスが子供のプロセスを返すオリジナルの(人たち・もの)Proc オブジェクト。 プロセスがプロセスを返す新たに作られた(人たち・もの)Proc オブジェクト。 何とでも同じように proc オブジェクト、子プロセスオブジェクト numifies からプロセス id (OS 被扶養者整数)。 しかしながら、オブジェクトが numifies する親プロセス0 子供と親がお互いを識別することができるように。

典型的な使用がそうだろう:

 if !defined(my $pid = fork) {
   die "Error calling fork: $!";
 } elsif $pid == 0 {
   say "I am the new child!";
   exit 0;
 } else {
   say "I am the parent of {+$pid}";
   wait();
 }
 
待て
 our Proc::Status multi method wait( Proc $process: *%options )

 our Proc::Status multi wait ( Proc $process = -1, *%options )
 

子プロセスが終わるのを待って、そして子供のためにステータスオブジェクトを返す。 オブジェクトがプロセスに numify するであろうこのステータスは去った子供について身分証明書を調べる。

重要な proc ::ステータスメソッド:

 .exit - Numeric exit value
 .pid - Process ID
 .signal - Signal number if any, otherwise 0
 

歴史上の理由である.status 等しいメソッド:

 ($status.exit +< 8) +| $status.signal
 

もし$process 供給される、それから、所定のプロセスが終了したとき、待ちがただ戻るだけだろう。 あるいはフルProc オブジェクトはパスする、あるいはただ数値的であり得る、プロセスが身分証明書を調べる。 A-1 明示的にその待ちがすぐに戻るべきであることを示すもし子プロセスが終了する何も。

このようにして呼び出されるとき、返送された(人たち・もの)Proc::Status オブジェクトがそうしてしまっているだろう.pid-1 (それは同じくそれが numifies することだ)もし待つべきこのようなどのプロセスもなかったなら。

名指された選択が含む:

結合

真をデフォルトとする。 もし万事整っているから偽であるなら、これは待ちにすぐに戻ることを強いる。

WNOHANG

歴史の互換性のために存在する。 WNOHANG = > がそれとまったく同じの1blocking = 偽の > 。

Pending Apocalypse

次の関数は Apocalypse / Synopsis 数によって分類される。

/s ?? : OS 相互作用

地下聖堂 getlogin / chroot しろ[得ろ | セット][ pw | */ が setpgrp setpriority 時死なせるグラム].

・・・。 もしプラットホームが右の(の・もの・人)であるなら、これらはおそらく自動的に GLOBAL に読み込まれた POSIX の部分であるだろう

デフォルト関数

これらの関数はデフォルトネームスペースの中に輸出される

すべて - S32-setting-library/Containers.pod を見ろ
何も - S32-setting-library/Containers.pod を見ろ
猫 - S32-setting-library/Containers.pod を見ろ
S32-setting-library/Containers.pod を分類して - 見ろ
確定 - S32-setting-library/Scalars.pod を見ろ
grep - S32-setting-library/Containers.pod を見ろ
最初に - S32-setting-library/Containers.pod を見ろ
キー - S32-setting-library/Containers.pod を見ろ
kv - S32-setting-library/Containers.pod を見ろ
参加しろ - S32-setting-library/Containers.pod を見ろ
マップしろ - S32-setting-library/Containers.pod を見ろ
最大限 - S32-setting-library/Containers.pod を見ろ
ミン - S32-setting-library/Containers.pod を見ろ
一(人・つ)も - S32-setting-library/Containers.pod を見ろ
1(人・つ) - S32-setting-library/Containers.pod を見ろ
対 - S32-setting-library/Containers.pod を見ろ
印刷 - S32-setting-library/IO.pod を見ろ
printf - S32-setting-library/IO.pod を見ろ
roundrobin - S32-setting-library/Containers.pod を見ろ
選べ - S32-setting-library/Containers.pod を見ろ
減量しろ - S32-setting-library/Containers.pod を見ろ
後退しろ - S32-setting-library/Containers.pod を見ろ
言え - S32-setting-library/IO.pod を見ろ
形 - S32-setting-library/Containers.pod を見ろ
ソートしろ - S32-setting-library/Containers.pod を見ろ
srand - S32-setting-library/Numeric.pod を見ろ
undefine - S32-setting-library/Scalars.pod を見ろ
uri - S32-setting-library/IO.pod を見ろ
値 - S32-setting-library/Containers.pod を見ろ
警告しろ - S32-setting-library/Any.pod を見ろ
ジッパーでとまれ - S32-setting-library/Containers.pod を見ろ

非デフォルトの関数

perl5 に存在したこれらの関数はまだ存在する、しかしデフォルトネームスペースの一部ではなくがさらに何かか。

コンテナ

関数が今見いだされることができるか、あるいはコンテナモジュールの中で何かで置き換えた次のこと。

抹消、が存在する、ポップ、プッシュ、が unshift を変えて、接合する

Numeric

S32 - 環境 - ライブラリで Numeric に会え。

IO

関数が今見いだされることができるか、あるいは IO モジュールの中で何かで置き換えた次のこと。

近く binmode 、 chdir 、 chmod 、 chown 、を受け入れて、バインドしろ、 closedir 、接続 eof 、 fcntl 、 fileno 、が集まる、 getc 、 getsockname 、 getsockopt 、グロブ、 ioctl 、リンク、 lstat 、開いている mkdir 、 opendir 、がパイプ処理するリスン、印刷、 readdir 、 readline 、 readlink readpipe 、 recv 、名前変更、 rewinddir 、 rmdir が、例えば目指す読まれた printf 、選り抜きの seekdir 、送信、 setsockopt シャットダウン、ソケット、 socketpair 、統計値、 symlink 、 sysopen 、 sysread 、 sysseek syswrite 、が教えて、 umask 、切り離しを telldir して、切り落とす

Temporal

関数が今見いだされることができるか、あるいは Temporal モジュールの中で何かで置き換えた次のこと。

gmtime 、 localtime 、時間

文字列

関数が今見いだされることができるか、あるいは文字列モジュールの中で何かで置き換えた次のこと。

インデックスを急に中止して、むしゃむしゃ食べろ、 lc 、 lcfirst 、が納まる、 quotemeta 、分離された rindex 、 sprintf 、 substr 、 uc 、 ucfirst 、がアンパックする

時代遅れの関数

これらの若干がただ一般的な関数として時代遅れにされる、そして、右のパッケージを使うことによって、まだ利用可能だ。 他のものが時代遅れにされる、関数(これらは下の(彼・それ)ら自身のセクションにある)よりむしろそのそれらにキーワード、がある。

 $num1 % $num2
 

浮動小数点法演算、すなわち5.5%の1をする== 0.5 と5% 2.5== 0。

dbmopen 、 dbmclose
 use DB_File;
 
ごみ捨て場

捨てられた。 コアからダンプを復活させることは近代的なバーチャルメモリオペレーティング・システムでとにかくそれほど有用じゃない。 加速がそうであるべきである新会社がいずれかの種類(詳細が非常に実装に特定されるだろう)、あるいは前もって分岐することのプリコンパイラを使って Perl 5 のアプリケーションのようなデーモンを達成した::(それがポートされるとき、外部モジュールであろう) Persistant 。

それぞれ

上の .pairs () メソッドを見ろ。

endpwent 、 endgrent 、 endservent 、 endprotoent 、 endnetent 、 endhostent

S16 の NameServices ロールはこれらの大部分をカバーする。

フォーマットしろ、 formline

釈義7を見ろ。

getgrgid 、 getgrnam 、 getpwnam 、 getpwuid

ユーザーと S16 の Group ロールはこれらの大部分をカバーする。

getpwent 、 getgrent 、 getservent 、 getnetent 、 gethostent

S16 の NameServices ロールはこれらの大部分をカバーする。

長さ ()

この言葉は Perl 6 に禁止される。 あなたは単位を指定しなくちゃならない。 インチが練習する、これは、それが Str.bytes () 、あるいは他の何かさえであり得たけれども、おそらくあなたが Str.chars () を必要とすることを意味する。 詳細については S32 - 設定ライブラリ / 文字列を見ろ。

msgctl 、 msgget 、 msgrcv 、 msgsnd

IPC を見ろ:: SysV

地方

通り過ぎて置き換えられるtemp それ、同じじゃないlocal値を変えないことへのデフォルト。

S17 同時発生を見ろ。 lock 通り過ぎて置き換えられたis atomic.

pos

ノーがあるpos それが文字列がスレッドの間で分担されることを可能にしないであろうから Perl 6 の関数。 一般にあなたは使うことを望む$/.to それのために今、あるいはあなた自身のポジション変数を語彙として保持しろ。

プロトタイプ
 &func.meta.signature;
 &func.^signature;
 
審判員

そこ(に・で)、それがほとんど常に Perl 5 に型名を得るために使われたときから、審判員 () がさらに何かか。 もしあなたが本当に型名を欲するなら、あなたは使うことができる$var.WHAT.perl.  もしあなたが本当に P5 審判員意味規則を欲するなら、使えPerl5::p5ref.

けれどももしあなたが型に対してテストにただ不十分であるなら、あなたは多分能力を発揮する方がより良いisa あるいはdoes あるいはcanあるいはただ$var ~~ TYPE.

リセット

これの良い用途があったか?

semctl 、 semget 、 semop

参照 IPC:: SysV ;

setpwent 、 setgrent 、 setservent 、 setprotoent 、 setnetent 、 sethostent

S16 の NameServices ロールはこれらの大部分をカバーする。

shmctl 、 shmget 、 shmread 、 shmwrite

参照 IPC:: SysV ;

勉強しろ

Algorithm はあまりにも Anglo 中心だった。 もしどうにかして一般化されるなら持って戻ってこられることができた。

タイされてタイしろ

これらはコンテナ型によって取り換えられる。 コンパイラは、若干の代表が宣言でその主旨でされない限り、語彙の変数が決して行かない何でもそのコンテナ型を変えると想定するために無料だ。 注意しろ: P5 のタイされた () は乱暴に P6 の変数 () によって置き換えられる。

XXX 例?

私の $foo はそうだ... ? がメタ演算後にタイである「再び祝福しろ」のためのコンテナ型 - マクロタイ($var 、 $class 、 *@args){ { variable($var).meta.rebless($class, *@args ) }コードしろ})

endXXX

解け

「タイ」でメモを見ろ、上に、しかし基本的にこれらはコンテナ・クラスで置き換えられる。

vec

リプレイスがそうするべきだvec 宣言されたバッファー / 配列のbituint2uint4など.

waitpid

wait 今オプションのプロセス / pid の有無にかかわらず呼び出されることができる。

書け

釈義7を見ろ。

キーワード

次のことが Perl 5 の perlfunc でリストされた、しかし今関数よりむしろキーワードだと見なされるべきだ。

last, my 、次に、ノー我々の、、実装、帰り、 sub 使用

デフォルト Export 質問

これらがデフォルトによって輸出されるかどうかについて確かじゃない。 同じく、多くがもう存在しないかもしれない;もしそうであるなら、それらが「時代遅れの」セクションに入力されるべきだ。

シグナル関連だ

アラーム獲物

OS あるいは図書館が関係をもった
 chroot
 crypt
 getlogin
 getpeername -- should this go on Pipe?
 

OS オブジェクト:

 --Process
 getpgrp
 getppid
 getpriority
 setpgrp
 setpriority

 --Service
 getservbyname
 getservbyport

 --Protocol
 getprotobyname
 getprotobynumber

 --Network
 getnetbyaddr
 getnetbyname

 --Host
 gethostbyaddr
 gethostbyname
 
フロー制御

成功する進むリドゥ

eval に呼び出し側 chr 打ち抜き型ドを祝福する重役の出口分岐が16進法の輸入に行く、 int oct ord が syscall システムタイムが utime するスカラースリープステートが待つことを要求する

付加

どうか perl6 - 言語にエラーとフィードバックをポストしてくれ。 もしあなたが一般的なリストを作っているなら、どうかトピックによるメッセージを分離してくれ。