Perl

keys

keysで指定のハッシュのキー配列を取得する。Perlの組み込み関数 keys の翻訳 - perldoc.jpkeys.plで、こうすると、 $ vi keys.pl $ perl keys.pl key2 key1 key3 $こうなる。 まあforeachなので順番は不定。Sample/perl/keys/keys/src/keys at master · bg1…

ハッシュ引数

引数にハッシュを指定することもできる。サブルーチンの引数 - Perl - ルモーリンsub.plで、1つ目みたいにハッシュ変数で渡すこともできるし、2つ目みたいに直接ハッシュ形式で書いて渡すこともできる。 (今回は2つ目でハイフン('-')の付いたキーを使ってる…

配列引数

引数に配列を指定してそれを受け取る。引数に複数の配列を指定sub.plで、とすると、 $ perl sub.pl 10 20 30 $となる。Sample/perl/sub/array_arguments/src/sub at master · bg1bgst333/Sample · GitHub

CGI::end_form

CGI::end_formはformの終了タグを用意する。https://pointoht.ti-da.net/e6730590.htmlaction.cgiで、と書いて、perlコマンドで実行すると、 $ perl action.cgi Content-Type: text/html; charset=ISO-8859-1

CGI::start_form

CGI::start_formでformの開始タグまで用意する。https://pointoht.ti-da.net/e6730590.htmlaction.cgiで、と書く。 start_formは指定が無い場合は、"POST"で自分自身へのリクエストになる。 perlコマンドでHTML出力を確認すると、 $ perl action.cgi Content…

CGI::param(name)

CGI::paramに引数としてクエリパラメータのキーを渡すと、それをキーとするクエリパラメータの値が取得できる。CGI - Common Gateway Interface のリクエストとレスポンスを扱う - perldoc.jpform.htmlで、として、 action.cgiで、とすると、 submitでsubmit…

%ENV(QUERY_STRING)

%ENVで環境変数が取得できるのだから、'QUERY_STRING'を指定すればクエリ文字列を取得できる。入力フォーム編(GETとPOSTデータを受け取るには) - futomi's CGI Cafeform.htmlが、こうで、 ENV.cgiが、こうなら、 これでsubmitすると、これでsubmitすると、…

%ENV

環境変数はハッシュ%ENVに入っている。環境変数を取得・設定する %ENV - Perlゼミ - Perl元気塾のPerl講座 環境変数 - futomi's CGI CafeENV.plで、PATHを出力してみる。 $ perl ENV.pl /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/bg1/.local…

CGI::param

key=value形式の場合、CGI::paramを使って、キーと値を取り出す。CGI - Common Gateway Interface のリクエストとレスポンスを扱う - perldoc.jp CGI.pm を使ってみよう - futomi's CGI Cafe引数が無い場合は、キーの配列を返す。 form.htmlで、として、 act…

@ARGV(CGI)

C言語のargvでクエリパラメータを取得できたなら、当然Perlの@ARGVでもクエリパラメータを取得できる。パラメータARGV.cgiで、とすると、 '+'で繋ぐ方式なら取得できる'+'で繋ぐ方式なら取得できる。 key1=value1形式はダメkey1=value1形式はダメ。Sample/pe…

ハイフンを使ったハッシュキー

ハッシュのキーの書き方には'-'(ハイフン)を使ったものもある。Perl-hashes - Dev Guideshash.plで、キーの前に'-'(ハイフン)を付ける。 引用符は要らない。 しかも、文字列で指定したキーと一緒かというと、 $ vi hash.pl $ perl hash.pl value1 value2 val…

CGI::h1(heading)

CGI::h1に見出し文字列を渡すと、h1タグなのでその文字列が大きな見出しとなる。CGI - Common Gateway Interface のリクエストとレスポンスを扱う - perldoc.jpCGI.cgiで、とすると、 今度はちゃんと囲んだ文字列が大きくなる今度はちゃんと囲んだ文字列が大…

CGI::h1

CGI::h1で、h1タグを置く。CGI - Common Gateway Interface のリクエストとレスポンスを扱う - perldoc.jpCGI.cgiで、こう書くと、 $ vi CGI.cgi $ perl CGI.cgi Content-Type: text/html; charset=ISO-8859-1

CGI::end_html

CGI::end_htmlは、bodyの終了タグ、htmlの終了タグ、を用意する。CGI - Common Gateway Interface のリクエストとレスポンスを扱う - perldoc.jpCGI.cgiは、こう書くと、 こうなる。こうなる。 変わらない。https://github.com/bg1bgst333/Sample/tree/maste…

CGI::start_html(title)

前回は、CGI::start_htmlメソッドに何も渡さなかったので、タイトルが"Untitled Document"になっていた。 CGI::start_htmlメソッドに1つの文字列を渡すと、それがHTMLドキュメントのタイトルになる。CGI - Common Gateway Interface のリクエストとレスポン…

CGI::start_html

CGI::start_htmlメソッドは、<BODY>の開始タグまで用意してくれる。CGI.pm を使ってみよう - futomi's CGI CafeCGI.cgiで、とすると、 $ perl CGI.cgi Content-Type: text/html; charset=ISO-8859-1 </body>

CGI::header

CGI::headerメソッドで、最低限のHTTPヘッダを用意してくれる。(Perl) CGI.pmを用いてhtmlヘッダーを出力する (r271-635) $ vi CGI.cgiviでCGI.cgiを開いて、このように書く。 $ perl CGI.cgi Content-Type: text/html; charset=ISO-8859-1 <html> <head> <title>CGI::header</title> </head> <body> <a href="http://bgstation0.com/"></a></body></html>…

CGI

PerlでCGIを書く場合は、CGIモジュールを使うと便利。CGI - Common Gateway Interface のリクエストとレスポンスを扱う - perldoc.jpまずは、newでCGIオブジェクトを生成し、CGIオブジェクトが何なのか見てみる。CGIと言いつつ、perlコマンドで実行すると、 …

grep

grepは、指定した配列から、指定の条件を満たす要素を取り出す。grep関数 - 特定の条件を満たす配列要素のみ取得 - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発最初に条件式、その次以降に配列やリストを指定。 1…

SUPER

SUPERで、親クラスのメソッドを呼ぶことが出来る。perlobj - Perl のオブジェクト - perldoc.jpBaseClassのmethodは、"BaseClass::method"と出力するだけ。DerivedClassのmethodは、"DerivedClass::method 1"と"DerivedClass::method 2"を出力し、その間に$t…

@ISA

クラスの継承には@ISAを使う。クラスを継承する - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発BaseClassにbase_methodを用意しておく。DerivedClassにderived_methodを用意しておく。 useでBaseClassを読み込み、…

コンストラクタ

blessで自身の持っている無名ハッシュリファレンスと自身のパッケージと紐付ける。 そして、メソッドの呼び出し方にはいくつかの方法がある。 これらを組み合わせることで、C++やJava風にコンストラクタを書くことが出来る。コンストラクタの作成 - Perlプロ…

メソッド

クラスのメソッドの書き方には、いくつかある。perlobj - Perl のオブジェクト - perldoc.jpmethod1に渡される引数を2番目まで出力。アロー演算子を使った今までの方法のほかに、メソッド名の後ろにオブジェクト名、そしてメソッド名の後ろにクラス名という…

bless

blessは、指定されたリファレンスと指定されたクラスを紐付ける組み込み関数。bless関数 - オブジェクトの生成 - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発2つ目のクラス名を省略した場合は、そこのパッケージ…

クラス

Perlにおいて、クラスの正体はモジュールである。Perlでオブジェクト指向プログラミング - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発ただし、オブジェクトを作る方法が特殊で、オブジェクトの正体はリファレン…

caller

callerは、呼び出し元情報を取得する組み込み関数。caller関数 - 呼び出し元情報を取得する - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発func3でcallerを呼ぶ。 callerの戻り値をリストで取ると、1番目がパッケ…

Exporter::@EXPORT_OK

@EXPORTは、無条件で公開されたが、@EXPORT_OKは、use モジュールパッケージ名の後の引数に指定した関数名と同じものなら公開される。Exporter - 関数をエクスポートする - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステ…

useの引数

useには、引数を渡すことが出来る。use - モジュールを読み込む - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発 独自のimport関数を定義する話 - Qiitaよく渡されるのは、公開してもらいたい関数名リストだが、こ…

strict

use strictを使うことで、厳密な文法チェックをし、場合によってはエラーを出す。strict - 文法チェックを厳しくする - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発 厳密な構文チェック - プログラムの基本構成 -…

warnings

use warningsを使うことで、スクリプトをチェックし、警告を出してくれる。warningsモジュール - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発 厳密な構文チェック - プログラムの基本構成 - Perl入門たとえば、 #…