スキップしてメイン コンテンツに移動

投稿

ラベル(Perl)が付いた投稿を表示しています

perl の https通信 が出来なかったので対処した件

いつもhttpsの接続方法を調べているのでまとめることにした。 ここではDebianでの話になっている。 $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 10 (buster)" NAME="Debian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" $ perl --version This is perl 5, version 28, subversion 1 (v5.28.1) built for x86_64-linux-gnu-thread-multi (with 61 registered patches, see perl -V for more detail) LWP::Protocol::https このモジュールを入れると関連するモジュールも入れてくれるのでこれをインストールする。 # cpanm LWP::Protocol::https エラーが出てインストールできない場合、何かが入っていない為ログファイルを確認する必要がある。 今回はこの辺をインストールした。 # apt install gcc # apt install libssl-dev # apt install zlib1g-dev gccがないとコンパイルできないと言うエラーが出る。 libssl-dev は openssl のヘッダファイルがないとエラーが出る。 zlib1g-dev は /usr/bin/ld: -lz が存在しないとエラーが出る。 インストールが出来たら、試しにFeedPPのサイトのサンプルを動かしてみた。 [Perl] XML::FeedPP - R...

Perl で 円周率 を計算する

円周率を計算するPerlプログラムを github で公開している人がいた。 https://gist.github.com/djsas/2083243 ===ここから=== use strict; use warnings; use bigint; my($t1,$t2); my $n=2000; my $a; my $b; my $i; $t1=times; $a = $b = 10 ** $n; for($i = $n * 8 + 1; $i >= 3; $i -= 2) {   $a = int(int($i / 2) * ($a + $b * 2) / $i); } $a -= $b; print("3.$a\n"); $t2=times; print "<".($t2-$t1).">"; ===ここまで=== 円周率の公式と計算法 http://www.kurims.kyoto-u.ac.jp/~kenkyubu/kokai-koza/H16-ooura.pdf 円周率を計算してみよう http://w3e.kanazawa-it.ac.jp/e-scimath/contents/t16/textbook_t16_all.pdf

Perlでの素数判定プログラム

取り敢えず簡易な素数判定プログラム。 使用言語は perl。 Nが 2から√Nまで の整数で割り切れないと素数だと判定している。 次のプログラムは 3以上の整数 しか判定できない。 =====ここから===== use strict; use warnings; # input number chomp(my $num = <>); foreach my $i (2 .. int sqrt $num) {   if ($num % $i == 0) {     print "Non prime.\n";     exit;   } } print "$num is Prime number.\n"; =====ここまで===== $num は必要な数字を入力してあってもいい。 素数とは、 「2以上の整数の中で、1と自分自身以外で割り切れない数」 とよく言われる。 細かく説明すると次のようなことである。  6は2と3から作ることが出来る為、6は合成数という。  様々な数が合成することで作れる。  合成することが出来ない数が素数である。 このような理由から 1は素数にならない。 1は何にかけてもかけられた数になる為。

フレームワークの一覧

フレームワークをちょっとだけまとめた。 終わりに機械学習に関するものをリストアップした。 各種Webフレームワーク Perl、Ruby、PythonのWebアプリケーションフレームワークの一覧。 主要なものをちょっとだけまとめてみた。 Perl https://www.perl.org/ Mojolicious (モジョリシャス) http://mojolicio.us/ https://github.com/mojolicious/mojo Catalyst (カタリスト) http://www.catalystframework.org/ Dancer http://www.perldancer.org/ https://github.com/PerlDancer/Dancer2 Amon2 https://amon.64p.org/ https://github.com/tokuhirom/Amon Ruby https://www.ruby-lang.org/ Ruby on Rails (ルビー オン レールズ) http://rubyonrails.org/ https://github.com/rails/rails Sinatra (シナトラ) http://www.sinatrarb.com/ https://github.com/sinatra/sinatra Padrino (パドリーノ) http://www.padrinorb.com/ https://github.com/padrino/padrino-framework Python https://www.python.org/ Django (ジャンゴ) https://www.djangoproject.com/ https://github.com/django/django Flask (フラスク) https://palletsprojects.com/p/flask/ https://github.com/pallets/flask Bottle (ボトル) https://bottlepy.org/ https://github.com/bottlep...

Perl/Tk の基本的なこと

X を利用したアプリケーションを作る方法は色々あるが、Tk を用いると簡単に出来る。 Tk - Wikipedia https://ja.wikipedia.org/wiki/Tk_(ツールキット) Tk で作るWindowをどの言語で書くかによって変わってくるが、Tcl/Tkが最も有名かもしれない。 Tcl/Tk - Wikipedia https://ja.wikipedia.org/wiki/Tcl/Tk wish (Windowing Shell) を用いてスクリプトを組むことでグラフィカルなアプリを作れる。 Tclはこのwishで使われるプログラミング言語であり、簡単に使える。かなり多くのシステムに導入されていることもあり、特に何かをインストールせずとも使うことが出来る。 このTclの部分をperlに置き換えたものがPerl/Tkである。 Perl/Tk インストール Perl/Tk は Tcl/Tk と違いデフォルトでインストールされていないことが多い。 ubuntuだと perl-tk をインストールすると使えるようになる。 # apt install perl-tk 取り敢えず作ってみる 次のようなサンプルファイル sample.pl を作る。 sample.pl use utf8; use Tk; # トップウィンドウを作る $top = MainWindow->new(); # ウィンドウ内に文字(ラベル)を表示する $label = $top->Label(-text => "ここに文字を書く")->pack(); # ウィンドウを生成する MainLoop(); ちなみに文字コードは UTF-8 になってる。 $ file sample.pl sample.pl: UTF-8 Unicode text 次のコマンドで実行する。 $ perl sample.pl 実行できる形の sample.pl Shebang を書いて実行ファイルとしても実行できる。 たぶん次のようなファイルになる。 一行目のShebangは環境によって異なるが多くのシステムは多分これで通る。 #!/usr/bin/perl use utf8; use...

Perl で簡単なプログラムを書いてみる。

Perl で簡単なプログラムを書いてみる。 最初に書くプログラムといえば「Hello, world.」なので、書いてみる。 $ perl -e '_____'  <= 下線部にプログラムを書く。 または、 $ perl -e "_____"  <= 下線部にプログラムを書く。 文字を表示するのは、次のようなプログラムである。 print "Hello, world."  または  print 'Hello, world.' この場合どちらも同じ結果を得る。 その為、  $ perl -e 'print "Hello, world."'  または  $ perl -e "print 'Hello, world.'" と書いて実行すればいい。  ' ' (シングルクォート) と " " (ダブルクォート) の違いは、 エスケープシーケンスを置き換えるかどうかである。 $ perl -e 'print "Hello, world.\n\n\n"' と $ perl -e "print 'Hello, world.\n\n\n'" の実行結果を比べてみるといい。  \n は改行を表すのでそれと置き換えるかどうかが異なる。 $ perl -e 'print "Hello, world.\n\n\n"' Hello, world. $ と $ perl -e "print 'Hello, world.\n\n\n'" Hello, world.\n\n\n$ となる。