Perl
の編集
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
12GW
AutoTicketLinkName
Comments/一行日記
DNSサービス
Excel小技メモ
FMV-S8210
FreeBSD
FreeBSDマニュアル
FreeNASマニュアル/02ネットワーク
FreeNASマニュアル/05アクセス
FreeNASマニュアル/09ヘルプ
FreeNAS公開
Gentoo_Linux
Help/Plugin
Help/Plugin/E
Help/Plugin/H
Help/Plugin/K
Help/Plugin/S
Help/Plugin/Y
imgboardR7 掲示板
InterWikiSandBox
Linux入門
MariaDB
MenuBar
PCの掃除と高速化
Perl
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/S-U
Radiko中継サービス
RIP
routeadm
SekikenWiki
Slack
techsup冗長化
Ubuntu
Vyatta
WikiWikiWeb
WindowsServer2008マニュアル
Windows_Moblie
YukiWiki
Zabbix
お名前VPSリプレイス計画
インフラ整備(byo)
ゲーム実況(計画編)
コミュニケーションと自己発見1
コメント/自炊日記
コメントテスト
サーバメモ
スタティックルート
セキュアOS
メッセンジャー経由で感染するウイルスについて
メメタァ
一行日記
事業計画書「HDD」
会計学入門2
作成案/CM001
作成案/CM002
作成案/CM003
倫理と社会1
切り札
初級システムアドミニストレータ
初音ミク
動画エンコード検証
勢い
取得済資格一覧
唐津バーガー
問題提起
地球と環境2
年寄りの冷や水
心理学1
応用インターネット入門2
情報数学
政治学入門2
文化とコミュニケーション1
文化とデザイン2
文学1
日記ログ/2012年
日記ログ/2013年/01月
日記ログ/2013年/02月
日記ログ/2013年/04月
日記ログ/2013年/06月
日記ログ/2013年/08月
日記ログ/2013年/09月
日記ログ/2013年/10月
日記ログ/2013年/11月
日記ログ/2015年/12月
日記ログ/2017年/10月
日記ログ/2023年
機器選定
歴史1
研究会一覧
経営学総論1
経営情報システム1
経営戦略論1
自動化研究会
葉っぱ的生活変更点まとめ
速攻魔法
適当作品集
鍋
雪遊び
...
-まず最初に --あんまり役に立たない内容なので期待しないことを推奨。 --ちょこちょこ更新していくつもりですが期待しないことを推奨。 --内容の精度に期待しないことを推奨。 --Linux・Unix用の箇所しかない(一部を除く)のでWindowsの人は期待しないことを推奨。 --これでも長いと思った人は(ry -PerlというかCGI(Common Gateway Interface) --について 1. CGIというのはウェブサーバと外部プログラムとの間のルールです。 2. CGIプログラムというのはCGIに従ってウェブサーバーに実行されるプログラムです。 3. Perlというのはプログラム言語です。 4. PerlはもともとCGIとはまったく無関係でした。 5. でもPerlはCGIプログラムに向いているのでCGIプログラムによく使われます。 -お約束 --Perlの一行目には必ず #!/usr/bin/perl --と入力すること。 --これで実行に使うPerlの位置をしている。 -改行コードについての注意 --これを覚えとかないと死亡フラグ。 1. WindowsとLinuxの改行コードは違う。 2. 正確にはWindowsは2バイト、Linuxは1バイト 3. 窓で書いたCGIを犬にそのままFTPで送る場合、正常に機能しない。 4. しかしFTPをテキストモードにしてからCGIを送ると、この問題は解決する。 -パーミッションについて --Linuxにはパーミッションというものがある。 1.パーミッションはアクセス権を設定するものである。 2.アクセス権には読み、書き、実行の三つがある。 3.また、2進数で表すこともある。 4.CGIのパーミッションの設定は、700が代表的らしい。(修正する気がないならセキュリティ上500でもいい気がする。) 5.詳しくはWEBで! -御託はいいからさっさと書いてみる --プログラムではお約束のHello World!を書いてみる #!/usr/bin/perl print "Hello World"; --これで出力の部分は完成。 --でもこれだけじゃ動きません。 -HTTPヘッダについて --CGIは何のデータ(HTMLやjpeg)を出力するかはきちんと決まってない。 --これでは、ブラウザ側に送られてきたデータが何のデータなのかわからない。 --なので、上のプログラムはこのままでは駄目。 --正しく動かすためには、正しいHTTPヘッダを自分で出力してあげないといけない。 --これを書くと #!/usr/bin/perl print "Content-type: text/html\n"; print "\n"; print "Hello World!"; --となる。\nは改行を表す。 --補足。HTTPヘッダの後には必ず空行を入れる。(print "\n"; のところ) --まとめ 1. CGIは最初に正しいHTTPヘッダを出力しないといけない。 2. CGIでHTMLを出力するにはHTTPヘッダ「Content-type: text/html」が必要。 3. HTTPヘッダの後ろには空行を出力する。 -デバッグ機能 --Perlにはバグが起きていそうな箇所を示す機能がある。 --先ほどのコードにそれを追加すると #!/usr/bin/perl use CGI::Carp qw(fatalsToBrowser); print "Content-type: text/html\n"; print "\n"; print "Hello World!"; --となる。 --つまり、use CGI::Carp qw(fatalsToBrowser); を追加するとデバッグ機能が使えるようになる。
タイムスタンプを変更しない
-まず最初に --あんまり役に立たない内容なので期待しないことを推奨。 --ちょこちょこ更新していくつもりですが期待しないことを推奨。 --内容の精度に期待しないことを推奨。 --Linux・Unix用の箇所しかない(一部を除く)のでWindowsの人は期待しないことを推奨。 --これでも長いと思った人は(ry -PerlというかCGI(Common Gateway Interface) --について 1. CGIというのはウェブサーバと外部プログラムとの間のルールです。 2. CGIプログラムというのはCGIに従ってウェブサーバーに実行されるプログラムです。 3. Perlというのはプログラム言語です。 4. PerlはもともとCGIとはまったく無関係でした。 5. でもPerlはCGIプログラムに向いているのでCGIプログラムによく使われます。 -お約束 --Perlの一行目には必ず #!/usr/bin/perl --と入力すること。 --これで実行に使うPerlの位置をしている。 -改行コードについての注意 --これを覚えとかないと死亡フラグ。 1. WindowsとLinuxの改行コードは違う。 2. 正確にはWindowsは2バイト、Linuxは1バイト 3. 窓で書いたCGIを犬にそのままFTPで送る場合、正常に機能しない。 4. しかしFTPをテキストモードにしてからCGIを送ると、この問題は解決する。 -パーミッションについて --Linuxにはパーミッションというものがある。 1.パーミッションはアクセス権を設定するものである。 2.アクセス権には読み、書き、実行の三つがある。 3.また、2進数で表すこともある。 4.CGIのパーミッションの設定は、700が代表的らしい。(修正する気がないならセキュリティ上500でもいい気がする。) 5.詳しくはWEBで! -御託はいいからさっさと書いてみる --プログラムではお約束のHello World!を書いてみる #!/usr/bin/perl print "Hello World"; --これで出力の部分は完成。 --でもこれだけじゃ動きません。 -HTTPヘッダについて --CGIは何のデータ(HTMLやjpeg)を出力するかはきちんと決まってない。 --これでは、ブラウザ側に送られてきたデータが何のデータなのかわからない。 --なので、上のプログラムはこのままでは駄目。 --正しく動かすためには、正しいHTTPヘッダを自分で出力してあげないといけない。 --これを書くと #!/usr/bin/perl print "Content-type: text/html\n"; print "\n"; print "Hello World!"; --となる。\nは改行を表す。 --補足。HTTPヘッダの後には必ず空行を入れる。(print "\n"; のところ) --まとめ 1. CGIは最初に正しいHTTPヘッダを出力しないといけない。 2. CGIでHTMLを出力するにはHTTPヘッダ「Content-type: text/html」が必要。 3. HTTPヘッダの後ろには空行を出力する。 -デバッグ機能 --Perlにはバグが起きていそうな箇所を示す機能がある。 --先ほどのコードにそれを追加すると #!/usr/bin/perl use CGI::Carp qw(fatalsToBrowser); print "Content-type: text/html\n"; print "\n"; print "Hello World!"; --となる。 --つまり、use CGI::Carp qw(fatalsToBrowser); を追加するとデバッグ機能が使えるようになる。
テキスト整形のルールを表示する