師匠の散歩Grandmaster Wander

師匠が歩く趣味の世界

気ままにPerlでも

サンプル一覧

基本 basic

基本的な原理を理解するために設置。

  1. 便利な機能
  2. 関数・ステートメント
  3. ライブラリの呼び出し方と注意点
  4. モジュールの呼び出し方と注意点
  5. ソート
  6. 正規表現・簡略文字
  7. 文字コードの扱い
  8. データの受け取り方
  9. ディレクトリ操作
    1. subMkdir.cgi ディレクトリを作成する
    2. subRmdir.cgi ディレクトリを削除する
    3. subGlob.cgi ディレクトリのファイル一覧を表示する
  10. コメント
    1. subComment.cgi コメント1
    2. subComment.html コメント2
Header.pmに記載

.cgiファイルを呼び出していますが、モジュール内部で使う関数の確認用です。

  1. dateLastSaved.cgi stat関数で最終更新日を求める
  2. dallar2at.cgi ヒアドキュメントを改行で分けて配列に変換
Maplib.emに記載

地図に関するもの。主に、GPXデータの書式を変更したりするために設置確認した。

  1. time.cgi 時間・日付 内部関数を利用する一般的な方法
  2. subTime.cgi グリニッジ時をGMT+9に変更 内部関数を利用する一般的な方法
  3. subTimeDifference.cgi GPXデータ2点の時間差(秒)を求める
  4. subDistanceHubeny.cgi ヒュベニの計算式で2地点の距離を求める
  5. subDms2Deg.cgi 度分秒を度に変換する
  6. subDeg2Dms.cgi 逆に度から度分秒を変換する
  7. subDistanceGEO.cgi 世界測地系の計算式で2地点の距離を求める
  8. magneticNorthLine.cgi 磁北線の計算式
  9. subRGB1610.cgi カラー16進数を10進数に変換、rgb.txtの色名の10進数を16進数に変換
  10. 日々の地震データHTMLファイルから、CSVデータを生成するCGIを作成した
  11. graphModule.html GDモジュールでグラフを作成する
  12. tky2wgs.html日本測地系⇔世界測地系の各種変換
Calender.pmに記載
  1. subZeller2.cgi 曜日を求める ツェラーの公式とtimelocalで限界を見極める
  2. checkLocalTime.html getTimeLocal/ getLocalTime の考え方
  3. checkJuliusDay.cgi 新こよみ便利帳のユリウス日計算式を検証する
  4. subHoliday.cgi ユリウス日を引数として祝日を求める 令和対応 2020/1/9
  5. checkTimeLocal.html 時間関数について再考
  6. dateCalc.cgi Dateモジュール
Exif

写真に関するものを作成しています。

  1. showExif.cgi 画像のExif情報を表示させる
  2. checkPicSize.cgi 画像の形式とサイズを取得
Others

その他、Webで入手したものを自分で動作確認するために設置したもの。

  1. GetEnv.cgi 環境変数
  2. checkPerlVersion.cgi バージョンチェック
  3. パスワード認証のパスワード文字列生成
  4. showSpecialVariables.cgi Special Valiables
  5. showPerldoc.cgi Perldocの呼び出し方
  6. explainPerldoc.html Perldoc parameters
  7. showErrorMsg.html 簡易エラー確認
  8. showFunctions.cgi Perlの関数一覧
  9. showModules.cgi Perlのモジュール一覧  showModules.html cgi が表示されない場合はこちら
  10. errorIndicator.html 特殊変数のエラーメッセージ、die関数
  11. showStandardModules.cgi @INCの内容、標準モジュール一覧

その他

自前Perl設置方法

現在

  1. 04WebServer 自前パソコン(Windows7)をwebサーバーにする
  2. Perl設置 自前パソコン(Windows7)でPerlを動かす

古い

  1. AnHTTPD設置 自前パソコン(WindowsXP)をwebサーバーにする
  2. Perl設置 自前パソコン(WindowsXP)でPerlを動かす
  3. 備考のページ anHTTPの設定を変えてPerlを実行可能にする
エラー回顧

師匠が経験した、エラーが発生したときの状況と対応内容を書いておく。

  1. エラーチップス error tips for coding perl script
モジュール

モジュールの使用方法の説明は省略します。転用される場合はご注意ください。

  1. Header.pm
  2. Maplib.pm
  3. Calender.pm
  4. Getpicsize.pm
  5. ExifInfo.pm

checkModule

参考

当初は特定の人に頼った参考ページでしたが、普通にググって参考にすることが多くなったので、ここへの参考サイト表記はコメントアウトにしたいと思います。

師匠が利用しているサーバー
PC
Web

本ページの目的

本来はページの最初に説明すべきですが、一覧を先に表示させたかったので下のほうに持ってきました。

山行ルートを表示する地図はヤマレコのサービスを利用すれば簡単に作成できます。しかし、このままでは必ずヤマレコを訪問する必要があり、ヤマレコがサーバーダウンしたときの回避ができません。地図サービスを見ていると自前のホームページでも地図設置ができることがわかりました(広告や設置報告など制約もある)。地図データとしてのGPXファイルはヤマレコで作成したものが利用でき、最初はエクセルだけで十分でした。

しかし、扱う地図がYahoo・Google・国土地理院と種類が多くなり、線幅などの情報も設定したいので、地図ページを自動生成する方法の検討を始めました。方法としては、サーバーで動作でき文字列置換に強いPerlが浮上しました。Perlは昔少しかじっていましたが確かなものではなく、実用には個々の関数の動作確認が必要になりました。そんな確認ページを集めたのが本ページです。そのため、本ページは基本関数の網羅ではなく、師匠が必要だった関数(用語、定義)のみ掲載をしています。

ここで紹介するスクリプトは、本サイト(Perl 5.10.1) 師匠のパソコン環境で動作確認したものを中心に掲載しており、他のサーバー(Perlバージョン)での動作確認はしていません。そのため、本サイトを参照される場合は、自らが設置するサーバー環境をよく理解し、動作確認を行ってから設置してください。本ページに関係する掲示板・質問箱は用意していませんが、質問メールは受付可能です。ただし、師匠のメールアドレスを見つけて頂く必要があります。

旧土岐鯖

Webサーバーが2012年4月に変更になりましたが、このサーバーでのCGI設定は以下のとおりとなっています。そのため、CGIの動作がうまくいかない場合や、HTMLファイルとのリンク切れが発生している場合があります。 元々、自分が納得できればよかった内容を公開しているだけですので、Webでのリンク切れ・動作不良を完全になくす努力は予定していませんのでご了承ください。

  1. CGIはCGI専用ディレクトリでないと実行されない
  2. cgi-binディレクトリでは、登録されている拡張子以外はtxt表示されてしまう。

えくす鯖

2020年8月20日未明に土岐鯖が永眠しエクス鯖を立ててもらいました。変更後の詳細は聞きたいけど聞いたら闇に落ちそうなので傍観しております。なのでエクス鯖でわかっているのは少しだけ。

  1. ディレクトリに index.html が無いとエラー表示になる
    拡張子は一つ上のディレクトリで制御可能だったような。。。
  2. CGI・Perl
    ルート以下ならどこに設置しても構わない
    運営によると、1行目は #!/usr/bin/perl
    運営によると設置ディレクトリと実行ファイルのパーミッションは 705
    ただし705だと .pm ファイルの内容が表示されてしまう
    試したところ701でもエラーにはならないので、非表示対応は701、あえてソース表示させたいpmファイルは705にする
    モジュール一覧にはwarningsが掲載されるけど、use warnings;があるとエラーになる。なので既存CGIは全てコメントアウトした
  3. 仕様
    1. 環境変数
    2. モジュール
    3. 標準モジュール %INCの内容

Topに戻る
Copyright(C) Grandmaster Since 2010最終更新:2020/9/22