ホームページ >php教程 >PHP开发 >Perl の共通システム関数

Perl の共通システム関数

黄舟
黄舟オリジナル
2016-12-16 13:59:361083ブラウズ

コマンド: PRint
構文: printFilehandleLIST

説明: このファイルハンドルは I(INPUT)/O(OUTPUT) の間のブリッジとみなすことができ、FILEHANDLE はデータの読み取りと書き込みに使用できます。 、コンピュータのキーボードからの入力など、STDOUT は、コンピュータ画面からの出力など、データが出力される接続を表します。 PERL この言語には 3 つの標準 FILEHANDLE があります: 1.STDIN (標準入力): STDIN
を表す FILEHANDLE です。 2.STDOUT (標準出力): STDOUT
を表す FILEHANDLE です。 3.STDERR (標準エラー出力) : それは STDERR を表す FILEHANDLE です。 他の FILEHANDLE を使用したい場合は、OPEN 関数を使用して FILEHANDLE を開く必要があります。 PRINT 関数を導入する前に、PRINT 関数を使用して LIST データを FILEHANDLE に出力します。まずは PRINT 関数を見てみましょう 特殊な印刷文字:

コマンド: #
説明: コメント記号 備考は
を宣言します 例: #これはコメントの説明です




------ ------------------- ------------------------------- ------------------- ----------


コマンド: print
構文: printFilehandleLIST
説明: このファイルハンドルはブリッジと見なすことができますI(INPUT)/O(OUTPUT) の間で、FILEHANDLE を使用して行うことができます。 STDIN は、データの入力元の接続を表します。STDOUT は、データの入力元の接続を表します。は出力、コンピュータの画面からの出力など、STDERR はコンピュータの画面からの出力など、エラーのあるデータの出力元の接続を表します。 : STDIN
2.STDOUT を表す FILEHANDLE (標準出力): STDOUT
3.STDERR を表す FILEHANDLE (標準エラー出力): STDERR を表す FILEHANDLE 他の FILEHANDLE を使用する場合は、OPEN 関数を使用して FILEHANDLE を開く必要があります。 PRINT 関数を使用して LIST データを FILEHANDLE に出力できます。
PRINT 関数を紹介します。その前に、PRINT 関数の特殊な印刷文字を見てみましょう:

シンボルとその関数
n newline newline
r カーソル改行リターン
ttabキー
f ページ変更フォームフィード
b スペース1つ戻る
v 垂直タブキー
aリングベル
エスケープキー
007 10進ASCIIコード
xff 16進コード
c〔制御文字
例: printSTDOUT "オンラインSchool n"; 画面上に改行して「Online School」と表示します。

構文:printLIST
注: Filehandle を省略した場合、Filehandle はデフォルトで STDOUT になります。つまり、LIST のデータ内容が画面に表示されます。 .
例: $url="www.netease.net/~zmd";
print "オンライン アカデミー $urln";
必要に応じて、画面に「オンライン アカデミー www.netease.net/~zmd」が表示されます。二重引用符で囲んだ変数を無効にするには、変数の前に「」記号を追加します。例: print "Online Academy $url" と表示されます: "Online Academy $url"

構文: print
説明: Filehandle と LIST を省略すると、STDOUT が Filehandle として使用され、$ が出力されます。$_ 変数が空の文字列の場合は、空の文字列が表示されます。 : $_="オンラインスクールn";print;すると、「オンラインスクールn」「ガーデン」と画面上に改行が表示されます



---------------- ------------------------ ------------------------ ----------------------


コマンド: printf
構文: printfFilehandleLIST
説明: C 言語の printf の構文は perl 言語でも提案されており、使い方は C 言語と全く同じです。Filehandle を省略した場合は、STDOUT もデフォルトの Filehandle とみなされます。printf 関数の前に、まず変更される文字を見てみましょう。 printf 関数内の記号

記号とその関数
c 文字
s 文字列
d 整数
f 浮動小数点整数
h 16 進数コード
o 8 進数コード
例 :printf("chomoddsn","711""cgi");画面上に chmod711cgi と改行が表示されます。



---------------------------------------------- --- ----------------------------------


コマンド:chop 構文:chop($url)
説明: 最後の文字を削除します。
例: $url="www.nease.net/~zmd/";
chop($url); その後、$url="www.nease.net/~zmd" となり、これらの 2 行は、chop( $ url="www.nease.net/~zmd/");



---------------------------- ---------------------------------------------------- ----


コマンド:split
構文:split(/pattern/,$text,limit) ここで、/pattern/ はワードプロセッサモードであり、limit は分割される数を表し、通常は省略できます。
説明: 指定されたワードプロセッサモードを使用して、$text 文字列を分割します。
例:
$text="Michael,Gevin,Mike";@name=split(/,/,$text);#現時点では @name=("Michael","Gevin","Mike");
( $a,$b,$c)=split(/,/,$text);#現時点では $a="マイケル";$b="ゲヴィン";$c="マイク";
@name= split( /,/,$string,2);#この時点では@name=("マイケル","ゲヴィン");
CGI アプリケーションのデータを送信する場合、FORM の最初のデータ フィールドのデータ内容が最初にエンコードされるため、デコード時には分割文字として & 記号を使用する必要があります。各データフィールド。例: $text="Mike=A&Michael=B";
@name=split(/&/,$text);#現時点では @name=("Mike=A","Michael=B");データ フィールド このデータ フィールドの名前と値は = 記号で区切られています。 データ フィールドの名前と対応する値を取得する場合は、= 記号を使用してデータ フィールドを区切ります。例: $name。 =""マイク =マイケル"";
($name1,$name2)=split(/=/,$list);#現時点では $name1="マイク";$name2="マイケル";



----- -------------------------------------- ----- ------------------------


コマンド:keys
構文:keys(array)
説明:すべてのキーを取得します連想配列 ARRAY。
例: NAME=(1,"mike",2,"michael");@readkey=keys(NAMES);#現時点では @readkey=(1,2);



------ -------------------------------------------------- -----------------------


コマンド:values
構文:values(array)
説明:連想配列ARRAY内のすべての値を取得します。
例: NAMES=(1,"mike",2,"michael");@readval=values(NAMES);#現時点では @readval=("mike","michael");



-- -------------------------------------------------- - ------------------------


コマンド: reverse
構文: reverse(@array)
説明: 要素を置き換えます配列 @array の要素は後ろから前に再配置されます。
例: @back=("A","B","C","D","E");@back=reverse(@back);#今回は@back=("E"," D "、"C"、"B"、"A");



---------------------------- ---------------------------------------------------- ----


コマンド: sort
構文: sort(@array)
説明: 配列内の要素を小さいものから大きいものに並べ替える場合は、逆関数を追加する必要があります。
例:
@abc=("d","b","c","a");@abc=sort(@abc);#今回は@abc=("a","b", " c","d");
@abc=(reversesort@abc);#このとき @abc=("d","c","b","a");この構文も書くことができますas@abc= (reversesort(@abc));
@number=(5,2,10);@number=sort(@number); 上記の例では、sort 関数を使用して値を並べ替えると、エラーが発生します。 , したがって、次の文を次のように使用します。 @number=(sort{$a<=>$b}@number);#現時点では@number=(2,5,10);



------------- -------------------------------------------------- - ----------------


コマンド: length
構文: length($string)
説明: 文字列 $string のバイト値を検索します。
例: $string="Perl5";$size=length($string);#現時点では $size=5;



------ -------------------------------------------------- - -----------


コマンド: substr
構文: substr($string,offset,length) offset は開始文字の位置を表し、length は引用符で囲まれた文字列の長さを表します (長さの場合)。は省略され、開始値から最後の文字までの文字列の長さを表します。 offset が負の値の場合、文字列の右側から文字が指定されます。
例:
$s=substr("perl5",2,2);#この時点では $s="rl";
$s=substr("perl5",2);#この時点では $s= rl5" ;
$s=substr("perl5",-2,2);#現時点では $s="er";



---------------- --- --------------------------------------------------- --- -----------


コマンド:index
構文:index($string,$substring,position)$substring は検索する文字です。position は検索を開始する位置を表します。 、位置が省略された場合は、最初から始めてください。
説明: 文字列 $string 内で探している文字の位置を返します。文字列内に文字が見つからない場合は、値 -1 が返されます。
例:
$s=index("perl5","p");#この時点では $s=0
$s=index("perl5","l",2);#この時点では $s= 3
$s=index("perl5","perl");#現時点では $s=-1



--------------------- --- --------------------------------------------------- --- ------


コマンド:push
構文:push(@array,$string)
説明:配列 @array の末尾に新しい要素 ($string) を配列 @array に追加します。
例: @array=("one","two");push(@array,"three");#この時点では $@array=("one","two","three")



----------------------------------------------- - ----------------------------------


コマンド:pop
構文:pop(@array)
説明: 配列を変更 ( @array) すると、最後の要素が削除され、削除された要素が返されます。
例: @array=("one","two");$rm=pop(@array);#現時点では @array=("one");そして $rm="two";



-------------------------------------------------- ----------------------------------


コマンド: unshift
構文: unshift(@array,$string ) 説明: in 新しい要素 $string を配列​​ @array の最初の要素の前に追加します。例: @array=("one","two");unshift(@array,"three");#現時点では @array=("three","one","two")



- -------------------------------------------------- - ----------------------------


コマンド:shift
構文:shift(@array)
説明:配列@を変更しますarray 最初の要素を削除し、削除された要素を返します。
例: @array=("one","two");@rm=shift(@array);#この時点では @array=("two") と $rm="one";



-------------------------------------------------- - --------------------------------


コマンド: join
構文: join($string,@array)
説明: in 配列 @array の要素間に指定された文字 $string を追加し、結果を返します。
例:
@array=("one","two","three");
$total=join(":",@array); then $total="one:two:three";



------------------------------------------------ - -------------------------------


コマンド: grep
構文: grep(/pattern/,@array)
説明: テキスト処理モード (正規表現) を組み合わせた配列要素を検索します。
例:
@array=("one","on","in");
$count=grep(/on/,@array);#この時点では $count=2
@result=grep(/ on /,@array);#現時点では @result=("one","on");



---------------------- -------------------------------------------------- -- ------


コマンド: hex
構文: hex($string)
説明: 16 進数値を 10 進数値に変換します。
例: $10進数=16進数("ff"); その後、$10進数=255;



-------------------------- - ------------------------------------------------- - ---


コマンド: rand
構文: rand($interger)
説明: 乱数を取得するために関数 srand と組み合わせてよく使用されます。スタンド関数が最初に宣言されていない場合、取り出される定数値は a です。固定値。この構文は 0 ~ $interger の値を返します。$interger が省略された場合は、0 ~ 1 の値が返されます。
例:
srand;#乱数の効果を生成するには、最初に srand 関数を宣言する必要があります
$int=rand(10);#$int の値は 0 より大きく、10 より小さくなります。生成された乱数を整数にするには、int# 関数を追加する必要があります
$int=int(rand(10));#$int の値は整数であり、値は 0 から 9 までです



- ---------------------------------------------------- --------- -------------------


コマンド: localtime
構文: localtime(time)
説明: 時間に関する 9 つの要素CGIアプリケーションを書くときにシステム時刻を返すことができるので、ここではこの機能の使い方を詳しく紹介します。
例:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
ここで: $sec は秒数を表します [0 ,59 】$min は分数を表します [0,59] $hour は時間数を表します [0,23] $mday は月の日を表します [1,31] $mon は月数を表します [0,11] 、$を変更する必要があります。monに1を追加した後でのみ、実際の状況を満たすことができます。 $year は 1990 年からの年数です。 $wday は曜日を表す土曜日から計算されます [0-6]。 $yday は 1 月 1 日から計算され、Days[0,365]$isdst を表します。これらの変数を理解すると、CGI アプリケーションで使用できるようになります。さらに、次の命令行を使用して、UNIX システムでシステム時刻を取得することもできます。エラーを避けるために、絶対パス方式を使用してシステム時刻を取得することをお勧めします。絶対パスが不明な場合は、「thisdata」コマンドを使用して取得できます。最後の文字を指定すると、システムプログラムが正しく実行されなくなります。 $data='/usr/bin/data'; perl5 バージョンでは、次の命令行を使用してシステム時刻を取得することもできます。 $data=localtime(時間);



-------------------------------------- --- ------------------------------------------


コマンド: die
構文 :dieLIST
説明 : LIST 文字列が表示され、プログラムが終了します。多くの場合、エラー メッセージ変数を表す $! と一緒に使用されます。
例: open(FILE,"$filename")||die"はファイル $!n を開けません。ファイルを開けなかった場合、エラー メッセージが表示され、プログラムは終了します。



---------------------------------------------------- ---- ------------------------


コマンド: open
構文1: open(filehandle,"$filename")where $filename は開くファイル名を指定します
説明: これは、ファイル (読み取り専用) を開くために使用できる、非常に一般的に使用される関数です。 CGIプログラミングではファイルを開いてデータを読み込むことが多いので、この機能の使い方を詳しく解説します。このファイルハンドルは I(INPUT)/O(OUTPUT) 間のブリッジとみなすことができ、FILEHANDLE を使用してデータの読み取りと書き込みを行うことができます。まず、OPEN 関数を使用して、指定したファイルを開きます。次に、 を使用して、開いたファイルのデータ内容を読み取ります。最後に、close 関数を使用して、以前に開いたファイルハンドルを閉じる必要があります。なお、CGI プログラムのカスタマイズにおいて、open 関数を使用してファイルを開く場合、ファイルを開く前にファイルの絶対パス名を追加する必要があります。
例:
$filename="usr/abc.txt";
open(FILE,"$filename")||die"ファイル $filenamen を開けません;# データを純粋な変数 $line に割り当てます (1 行)行ごと)
while($line={
print "$line";
}
close(file); は、abc.txt の内容を表示します

構文 2: open. filehandle,"<$filename")
説明: この構文は既存のファイル (読み取り専用) を開くこともできます
例:
$filesname="usr/abc.txt";
open(file,"@array=# のすべてのデータ内容を array@arrayclose(file) に割り当てます;
print"@array"; abc.TXT が表示されます。

構文 3: open(filehandle,">$filename")
説明: 新しいファイルを作成します (書き込み専用)。 ファイルが既に存在する場合は、古いファイル名で上書きされます。開いているファイルにデータをコピーします。
例:
$filename="/usr/abc.txt";
open(file,">$filename")||die" を開くことはできません。 File$filenamen;
printfile "thisisanewline1n;#n は改行文字です
printfile"thisisanewline2n;
close(file); はデータを新しいファイルに保存します。

構文 4: open(filehandle,">>$filename")
説明: データはファイルに追加されます (書き込み専用) 指定されたファイル名が存在しない場合は、新しいファイルが作成されます。
例:
$filename="/path/abc.txt";
open(file,">>$filename")||die"ファイル $filenamen を開けません";
printfile"thisisanewline1n";
printfile"thisisanewline2n" ;
close(file);
はデータをファイル (abc.txt) に追加します。

構文 5: open(filehandle,"|unixcommand")
説明: filehandle 内のデータは、処理のために unix コマンドに入力されます。
例:
$mailprog="/usr/ucb/mail";#UNIX システム上のメール送信プログラム (絶対パスを追加する必要があります)
$who="mqingyi@126.com";
$open(file," | $mailprog$who")||die"Failed to open n";
printfile"Iloveyou!n";
printfile"Iwanttoseeyou.n";
close(file);
は UNIX システムのメール プログラムを FILE に渡します。この FILEHANDLE の内容は、$who 変数で指定された受信者に送信されます。 open 関数を使用して、手紙を書くための CGI アプリケーションを設計できます。これについては、この本の次の章で詳しく説明します。



---------------------------------------------- --- ----------------------------------


コマンド: close
使用法: close(filehandle)
手順: open 関数を使用してファイルハンドルを開いた後、close 関数を使用して、開いたファイルハンドルを閉じる必要があります。
例:
open(filehandle,"$filename");
close(filehandle);



------------------------------------- -------------------------------------------------- ----


コマンド:pack
構文:pack("指定された形式", list)
説明:pack 関数はリストを指定されたバイナリデータ形式に変換します。 CGI プログラムの分割とデコード処理では、pack 関数を使用することになりますので、ここでこの関数の使い方を簡単に紹介します。
例: $string=pack("c",65);#この時点で $string="a";ASCII コード 65 を符号なし文字に変換します。ここで、c は符号なし文字に変換される意味を指定します。



---------------------------------------------- --- ----------------------------------


コマンド: read
構文: read(ファイルハンドル, $string, length) ここで、length は読み取った文字列の長さ (バイト) を表します。
説明: read 関数を使用して、指定された文字列長に従ってファイルハンドル内のデータを読み取り、それを $string 変数に割り当てます。 CGI プログラムの分割・デコード処理において、FORM の送信モードが POST に設定されている場合、送信データは標準入力となるため、データ内容は STDIN の標準入力のファイルハンドルに割り当てられ、CGI に送信されます。環境変数 $env{'content_length'} はユーザーが送信したデータ コンテンツの長さを表すため、read 関数を使用してユーザーが送信したデータ コンテンツを取得する必要があります。
例: read(stdin,$buffer,$env{'content_length'}); は、指定された文字列長に従って stdin の標準入力ファイルハンドル内のデータを読み取り、それを変数 $buffer に割り当てます。



---------------------------------------------- --- ----------------------------------


コマンド: exit
構文: exit
説明:実行プログラムを終了します。
例: print "ilovecgin";exit; "ilovecgi" を表示した後、プログラムは終了します。

上記は Perl の一般的に使用されるシステム関数の内容です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。