##やりたいこと
GMO クラウドで動いていた Perl ブログラムを Amazon Linux 2 でも動かしたいです。
動かしたいプログラムは、https://teratail.com/questions/146840 です。
##旧環境(正常動作しているサーバの環境)
- CnetOS 7.x
- Perl v5.16.3
- XML::FeedPP 0.95
- LWP::UserAgent 6.35
- IO::Socket::SSL 2.068
- Net::SSLeay 1.85
- HTTP::Lite 2.44
##新環境(動かしたい環境)
- Amazon Linux 2
- Perl v5.16.3
- XML::FeedPP 0.95
- LWP::UserAgent 6.44
- Net::SSLeay 1.88
- HTTP::Lite 2.44
##起こっている現象
スクリプトを動かすと、HTTP::Lite は http のみ対応しています、と表示され、スクリプトが実行できません。
$ ./rss_pocolog.pl Only http is supported by HTTP::Lite at /usr/local/share/perl5/HTTP/Lite.pm line 145. Loading failed: https://blog.linming.net/feed/ at ./rss_blog.pl line 20.
https に対応したb HTTP::Lite をインストールすればいいと思うのですが、そのパッケージ名がわからないのでインストールできません。
どうかよろしくお願いいたします。
##追記
https://www.itmedia.co.jp/enterprise/articles/0702/22/news014.html
を参考に以下のコードに書き換えました。
perl
1#!/usr/bin/perl 2 3use strict; 4use warnings; 5use Encode; 6use LWP::Simple; 7use XML::RSS; 8use Time::Local; 9 10my $url = 'https://pocolog.bass-world.net/meets/feed/'; 11my $document = LWP::Simple::get($url) or die(); 12my $rss = XML::RSS->new; 13$rss->parse($document); 14for (@{$rss->{items}}){ 15 print encode('UTF-8', $_->{title}), "\n"; 16} 17return;
実行すると
Protocol scheme 'https' is not supported ...propagated at ./rss_meets.pl line 11.
と表示されます。
##追記2
perl
1(中略) 2my $document = LWP::Simple::get($url) or die(); 3my $rss = XML::RSS->new; 4$rss->parse($document); 5for (@{$rss->{items}}){ 6 if($counter > 5){ 7 last; 8 } 9 10 my $date = substr($_->{pubDate}, 0, 10); 11 $date =~ s/\-./g; 12 $line .= "<li>" . $date; 13 $line .= " - "; 14 $line .= "<a href = \"" . $_->{link} . "\""; 15 $line .= $_->{title} . "</a></li>\n"; 16} 17$line .= "</ul>\n";
を実行すると、
Backslash found where operator expected at ./rss_meets.pl line 26, near "</li>\" (Missing operator before ?) String found where operator expected at ./rss_meets.pl line 28, near "$line .= "" (Might be a runaway multi-line "" string starting on line 26) (Missing semicolon on previous line?) String found where operator expected at ./rss_meets.pl line 30, near "open(BLOG, "" (Might be a runaway multi-line "" string starting on line 28) (Missing semicolon on previous line?) Having no space between pattern and following word is deprecated at ./rss_meets.pl line 30. String found where operator expected at ./rss_meets.pl line 30, at end of line (Missing semicolon on previous line?) syntax error at ./rss_meets.pl line 26, near "</li>\" Can't find string terminator '"' anywhere before EOF at ./rss_meets.pl line 30.
と怒られます。ダブルクォートの対応は気をつけたつもりですが、見落としはありますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/05 23:39
2020/06/05 23:56
2020/06/06 00:55
2020/06/06 01:03
2020/06/06 01:51 編集
2020/06/06 01:55
2020/06/06 02:00