ブログで趣味でプログラミングからお料理まで呟いています。よろしくー。(^-^)/


先月  2021年 6月  来月


1 2 3 45
6 7 8 9 10 11 12
13 14 15 16 1718 19
20 21 22 23 24 25 26
27 28 29 30



文字サイズ変更:
トップページ > Perlについて

●Perlについて●

2021-06-17 01:07:00

PerlMagick (Image::Magick)について CGIとして使用した場合

PerlMagick(Image::Magick)をCGIで使用した事を書いていきたいと思います。

※ローカルでのインストールは現時点(2021/06)では、まだ成功していません。
レンタルサーバーで、PerlMagickモジュールが使えたので、CGIに書いてみました。

かなり苦労して成功したのです。
まず「CGI::Minimal」モジュールとPerlMagickモジュールは相性が相当悪いようで、画像のReadでエラーが出てしまいました。

$ret = $image->Read(file=>$upfile);

この構文でどうしても、ファイルハンドルエラーが出てしまいます。
ちなみに、「$ret」には、エラーが出た場合に、内容が格納されます。
それで、「CGI::Minimal」モジュールは使用を断念して「CGI」モジュールに変えたら、あっさり処理できました。
Print Twitter(test) short URL いいね:56

back to the TOP
2021-06-17 00:49:00

Perlについて vol.02 幻のPerl6



Perlは現時点(2021/06)でバージョンは5だが、かつていち早くPerl6がリリースされたことがある。
それは、下位互換ではなく、独自路線を歩み、Perl6ではなく「Raku」という別言語としてリリースされている。
※画像は、Rakuのロゴです。

Rakuは、2000年にPerlの次期メジャーバージョンとして設計が始められ、2015年12月25日にPerl 6として正式安定版がリリースされた。しかし、言語仕様は従来のPerlと互換性がなく、既存のPerlのソフトウェアをPerl 6用に「アップグレード」するのは極めて困難である。したがって現在はPerl 5とPerl 6は別の言語であると考えられており、Perl 6はPerl 5の次期バージョンではないとされている。換言すれば、Perl 6はPerl 5から移行対象とはみなされていない。そして2019年10月にRakuへ改名することが決定した。

出典「ウィキペディア」より

現在のPerlのバージョン6がどうなるのか、非常に興味があります。
Print Twitter(test) short URL いいね:89

back to the TOP
2021-06-04 21:49:00

ImageMagickと PerlMagick (Image::Magick) について

ブログで自動で画像処理がしたくて、PerlMagick(Image::Magick)を使おうとしています。
でも、テストコードではうまくいったのに、実装するとエラーが出てしまう。
とりあえず、ローカルでも、ImageMgickをインストールすることにした。

ここで言うImageMagickと、PerlMagick(Image::Magick)は違います。
ImageMagickはUNIXから派生したコマンドラインで動かすことのできる画像処理アプリで、PerlMagick(Image::Magick)は、その画像処理アプリを動かして表示するPerlのモジュールです。

さて、散々様々なWebSiteを見てわかったことを列挙します。結論から言うとまだ、インストールしきれていないです。でも頭の中を整理したくて、ここにメモっておきたいと思います。

まず、ImageMagickとPerlMagickはバージョンを揃えてインストールしないといけないそうです。
それから、現時点(2021/06)で最新バージョンが両方とも、7.0.11なのですが、コードの書き方が様変わりしていて前バージョンとの互換性がなくまた参考ページも少ないため、困っている人も少なくないようです。

と、ここまで書きましたが、インストールできていないので、様々な疑問がわきます。
・例えばどこまでバージョンを揃えればいいのか、正直マイナーバージョンは流石に揃えられない。
・CPANは、なぜ最新バージョンをPPMからインストールできるようにしてくれていないのか。
・ImageMagickは、古いバージョンのexeファイル(インストールファイル)を取ってっておいてくれていないのはなぜなのか。

とまぁ、さらに知らない人は??な文章かもしれませんが、ちょっと置いておいて。

インストール手順を書きたいと思います。

まず、手順は、ImageMagickを先に、インストールします。
そのImageMagickのバージョンに沿ったPerlMagick モジュールをインストールします。

ImageMagick公式サイト



Windows用を選んで、この中で「ImageMagick-7.0.11-14-Q16-x64-dll.exe」を選びます。
先頭の「ImageMagick-7.0.11-14-Q16-HDRI-x64-dll.exe」は、選びませんでした。 HDRIとついているのですが、これは、「high dynamic-range imaging」の略で、 enabled つまり 無効 なので、これは選びません。

ダウンロードして、インストールします。

いくつか、 next を選ぶと、こんな画面が表示されます。



チェックは、stroverry Perl以外をチェックしました。(現時点でこれでいいか不明)

そしてインストール作業終了。

コマンドプロンプトウィンドウを「管理者権限」で開きます。

ロゴがダウンロードされてもいいフォルダにします。

「magick logo: logo.gif」これでエンターキーを押します。

ImageMagickのロゴがダウンロードされたら成功!


「magick identify logo.gif」

これは、 logo.gif の情報が表示されます。


「magick logo.gif win:」

「ImageMagick Display」が起動し、ロゴ画像が表示されます。


出典「【Windows10】imageMagick7のインストール手順【画像編集】」より


※問題は、PerlMagick(Image::Magick)なんですよ。

CPANからコマンドプロンプトでppmとエンターキーを押してppmを起動してインストールしようと思ったら、PerlMagickで登録されていて、しかもバージョンが6.89なんです。7ですらない。このバージョンに対応したImageMagickがあるかといえば、ネットには最早ないです。探し回りましたが。

それで、「CPAN」の左下の方、Download (3.8MB)をクリックすると、ダウンロードできます。

そして、わかりやすい階層(「c:」じゃなくていいですけど)で解凍して、「README.txt」をクリックすると、Windowsの場合は。

perl Makefile.nt
nmake install

これだけ。非常にシンプルです。
まず、「perl Makefile.nt」を管理権限でコマンドプロンプトを見ると、ざっと

「Warning (mostly harmless): No library found for -lmoldname」このようなエラーが出ます。
ライブラリーが無いと言っているんですね。

「Makefile.nt」をメモ帳かエディタで編集します。

中を読むと、どうやらVisual Studioがいることが判明。仕方なくインストールしました。今見てみたら、「Microsoft Visual Studio」のフォルダの総ファイルサイズが9ギガを超えていました。びっくりです。この辺であきらめる人もいるのかもしれませんね。

インストールした後、「Makefile.nt」の中の「WriteMakefile」の項目の中、'LIBS'を書き換えます。

-L C:(中はMicrosoft Visual Studioのパス)lib ,

これを、Microsoft Visual Studioで'bin'までのパス、
…と書き連ねていくのですが、現時点では、エラーが出ているので、細かくは紹介できません。
期待を込めて読んでいた人には、申し訳ないのですが、各自頑張ってほしいと思います。

蛇足ですが、「nmake install」をこの後、エンターキーを押すのですが、この中の「nmake」は
Microsoftの作ったコマンドで「Visual Studio」の中に入っています。「nmake」だけ Perlin にコピーして使います。

NMAKE の実行

また何かわかったら、追記していきたいと思います。
Print Twitter(test) short URL いいね:77

back to the TOP


PR (i)