Submit Search
Upload
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
•
3 likes
•
2,967 views
Yusuke Wada
Follow
エロサイト管理者の憂鬱3 Hokkaido.pm#4 のの発表資料です。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 56
Download now
Download to read offline
Recommended
Twib in Yokoahma.pm 2010/3/5
Twib in Yokoahma.pm 2010/3/5
Yusuke Wada
Blog Hacks 2011
Blog Hacks 2011
Yusuke Wada
YAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービス
Yusuke Wada
Mojolicious
Mojolicious
Marcos Rebelo
RESTful web services
RESTful web services
Tudor Constantin
Perl5i
Perl5i
Marcos Rebelo
Mojolicious
Mojolicious
Lenz Gschwendtner
Mojo as a_client
Mojo as a_client
Marcus Ramberg
Recommended
Twib in Yokoahma.pm 2010/3/5
Twib in Yokoahma.pm 2010/3/5
Yusuke Wada
Blog Hacks 2011
Blog Hacks 2011
Yusuke Wada
YAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービス
Yusuke Wada
Mojolicious
Mojolicious
Marcos Rebelo
RESTful web services
RESTful web services
Tudor Constantin
Perl5i
Perl5i
Marcos Rebelo
Mojolicious
Mojolicious
Lenz Gschwendtner
Mojo as a_client
Mojo as a_client
Marcus Ramberg
Webrtc mojo
Webrtc mojo
bpmedley
Perl web frameworks
Perl web frameworks
diego_k
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
PerlでWeb API入門
PerlでWeb API入門
Yusuke Wada
Web Apps in Perl - HTTP 101
Web Apps in Perl - HTTP 101
hendrikvb
Developing apps using Perl
Developing apps using Perl
Anatoly Sharifulin
20 modules i haven't yet talked about
20 modules i haven't yet talked about
Tatsuhiko Miyagawa
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Dotan Dimet
Mojolicious: what works and what doesn't
Mojolicious: what works and what doesn't
Cosimo Streppone
16.mysql stored procedures in laravel
16.mysql stored procedures in laravel
Razvan Raducanu, PhD
Getting out of Callback Hell in PHP
Getting out of Callback Hell in PHP
Arul Kumaran
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
deepfountainconsulting
Example code for the SADI BMI Calculator Web Service
Example code for the SADI BMI Calculator Web Service
Mark Wilkinson
Sadi service
Sadi service
Mark Wilkinson
Laravel the right way
Laravel the right way
Matheus Marabesi
Decoupling Objects With Standard Interfaces
Decoupling Objects With Standard Interfaces
Thomas Weinert
TDC2015 Porto Alegre - Automate everything with Phing !
TDC2015 Porto Alegre - Automate everything with Phing !
Matheus Marabesi
Undercover Pods / WP Functions
Undercover Pods / WP Functions
podsframework
Introduction to the Pods JSON API
Introduction to the Pods JSON API
podsframework
News of the Symfony2 World
News of the Symfony2 World
Fabien Potencier
Oppai-Detect 3
Oppai-Detect 3
Yusuke Wada
エロサイトを作る上での限りなくブラックに近すぎるグレー なバッドノウハウ
エロサイトを作る上での限りなくブラックに近すぎるグレー なバッドノウハウ
Yusuke Wada
More Related Content
What's hot
Webrtc mojo
Webrtc mojo
bpmedley
Perl web frameworks
Perl web frameworks
diego_k
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
PerlでWeb API入門
PerlでWeb API入門
Yusuke Wada
Web Apps in Perl - HTTP 101
Web Apps in Perl - HTTP 101
hendrikvb
Developing apps using Perl
Developing apps using Perl
Anatoly Sharifulin
20 modules i haven't yet talked about
20 modules i haven't yet talked about
Tatsuhiko Miyagawa
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Dotan Dimet
Mojolicious: what works and what doesn't
Mojolicious: what works and what doesn't
Cosimo Streppone
16.mysql stored procedures in laravel
16.mysql stored procedures in laravel
Razvan Raducanu, PhD
Getting out of Callback Hell in PHP
Getting out of Callback Hell in PHP
Arul Kumaran
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
deepfountainconsulting
Example code for the SADI BMI Calculator Web Service
Example code for the SADI BMI Calculator Web Service
Mark Wilkinson
Sadi service
Sadi service
Mark Wilkinson
Laravel the right way
Laravel the right way
Matheus Marabesi
Decoupling Objects With Standard Interfaces
Decoupling Objects With Standard Interfaces
Thomas Weinert
TDC2015 Porto Alegre - Automate everything with Phing !
TDC2015 Porto Alegre - Automate everything with Phing !
Matheus Marabesi
Undercover Pods / WP Functions
Undercover Pods / WP Functions
podsframework
Introduction to the Pods JSON API
Introduction to the Pods JSON API
podsframework
News of the Symfony2 World
News of the Symfony2 World
Fabien Potencier
What's hot
(20)
Webrtc mojo
Webrtc mojo
Perl web frameworks
Perl web frameworks
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
PerlでWeb API入門
PerlでWeb API入門
Web Apps in Perl - HTTP 101
Web Apps in Perl - HTTP 101
Developing apps using Perl
Developing apps using Perl
20 modules i haven't yet talked about
20 modules i haven't yet talked about
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Mojolicious: what works and what doesn't
Mojolicious: what works and what doesn't
16.mysql stored procedures in laravel
16.mysql stored procedures in laravel
Getting out of Callback Hell in PHP
Getting out of Callback Hell in PHP
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
Example code for the SADI BMI Calculator Web Service
Example code for the SADI BMI Calculator Web Service
Sadi service
Sadi service
Laravel the right way
Laravel the right way
Decoupling Objects With Standard Interfaces
Decoupling Objects With Standard Interfaces
TDC2015 Porto Alegre - Automate everything with Phing !
TDC2015 Porto Alegre - Automate everything with Phing !
Undercover Pods / WP Functions
Undercover Pods / WP Functions
Introduction to the Pods JSON API
Introduction to the Pods JSON API
News of the Symfony2 World
News of the Symfony2 World
Viewers also liked
Oppai-Detect 3
Oppai-Detect 3
Yusuke Wada
エロサイトを作る上での限りなくブラックに近すぎるグレー なバッドノウハウ
エロサイトを作る上での限りなくブラックに近すぎるグレー なバッドノウハウ
Yusuke Wada
いかにしてエロ動画を検索するか GXEB #03
いかにしてエロ動画を検索するか GXEB #03
Yusuke Wada
YAPCレポートの舞台裏
YAPCレポートの舞台裏
Masahiro Honma
テーマ「最適化」
テーマ「最適化」
technocat
Takao.mt 2013
Takao.mt 2013
moznion
Asset Pipeline for Perl
Asset Pipeline for Perl
Yoshihiro Sasaki
テーマ「なんでもないようなこと」
テーマ「なんでもないようなこと」
technocat
Currying in perl
Currying in perl
Masahiro Honma
理解したつもりになるGit入門
理解したつもりになるGit入門
Yoshihiro Sasaki
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
Ryosuke IWANAGA
Using Dancer
Using Dancer
Yoshihiro Sasaki
PHPカンファレンス北海道_20160416
PHPカンファレンス北海道_20160416
Yoshihiro Sasaki
Use Carton
Use Carton
Yoshihiro Sasaki
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
moznion
Plack::Request with Encoding
Plack::Request with Encoding
moznion
Games::* - Perlで 「ゲーム」しよう #hokkaidopm
Games::* - Perlで 「ゲーム」しよう #hokkaidopm
鉄次 尾形
YAPC::AsiaとHokkaido.pm
YAPC::AsiaとHokkaido.pm
Yoshihiro Sasaki
Google trends to_irc
Google trends to_irc
rarere
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
goccy
Viewers also liked
(20)
Oppai-Detect 3
Oppai-Detect 3
エロサイトを作る上での限りなくブラックに近すぎるグレー なバッドノウハウ
エロサイトを作る上での限りなくブラックに近すぎるグレー なバッドノウハウ
いかにしてエロ動画を検索するか GXEB #03
いかにしてエロ動画を検索するか GXEB #03
YAPCレポートの舞台裏
YAPCレポートの舞台裏
テーマ「最適化」
テーマ「最適化」
Takao.mt 2013
Takao.mt 2013
Asset Pipeline for Perl
Asset Pipeline for Perl
テーマ「なんでもないようなこと」
テーマ「なんでもないようなこと」
Currying in perl
Currying in perl
理解したつもりになるGit入門
理解したつもりになるGit入門
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
Using Dancer
Using Dancer
PHPカンファレンス北海道_20160416
PHPカンファレンス北海道_20160416
Use Carton
Use Carton
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
Plack::Request with Encoding
Plack::Request with Encoding
Games::* - Perlで 「ゲーム」しよう #hokkaidopm
Games::* - Perlで 「ゲーム」しよう #hokkaidopm
YAPC::AsiaとHokkaido.pm
YAPC::AsiaとHokkaido.pm
Google trends to_irc
Google trends to_irc
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
Similar to エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Perl Web Client
Perl Web Client
Flavio Poletti
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
Anatoly Sharifulin
Bag Of Tricks From Iusethis
Bag Of Tricks From Iusethis
Marcus Ramberg
Kansai.pm 10周年記念 Plack/PSGI 入門
Kansai.pm 10周年記念 Plack/PSGI 入門
lestrrat
The Zen of Lithium
The Zen of Lithium
Nate Abele
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right Reasons
Matt Follett
Web::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTP
Michael Francis
Doctrine For Beginners
Doctrine For Beginners
Jonathan Wage
Bootstrat REST APIs with Laravel 5
Bootstrat REST APIs with Laravel 5
Elena Kolevska
Curscatalyst
Curscatalyst
Kar Juan
Rails 3 overview
Rails 3 overview
Yehuda Katz
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
Lindsay Holmwood
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Tatsuhiko Miyagawa
Ruby gems
Ruby gems
Papp Laszlo
Perl web app 테스트전략
Perl web app 테스트전략
Jeen Lee
Advanced modulinos
Advanced modulinos
brian d foy
Rails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
Yehuda Katz
Silex meets SOAP & REST
Silex meets SOAP & REST
Hugo Hamon
ELK: a log management framework
ELK: a log management framework
Giovanni Bechis
Modern Web Development with Perl
Modern Web Development with Perl
Dave Cross
Similar to エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
(20)
Perl Web Client
Perl Web Client
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
Bag Of Tricks From Iusethis
Bag Of Tricks From Iusethis
Kansai.pm 10周年記念 Plack/PSGI 入門
Kansai.pm 10周年記念 Plack/PSGI 入門
The Zen of Lithium
The Zen of Lithium
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right Reasons
Web::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTP
Doctrine For Beginners
Doctrine For Beginners
Bootstrat REST APIs with Laravel 5
Bootstrat REST APIs with Laravel 5
Curscatalyst
Curscatalyst
Rails 3 overview
Rails 3 overview
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Ruby gems
Ruby gems
Perl web app 테스트전략
Perl web app 테스트전략
Advanced modulinos
Advanced modulinos
Rails 3: Dashing to the Finish
Rails 3: Dashing to the Finish
Silex meets SOAP & REST
Silex meets SOAP & REST
ELK: a log management framework
ELK: a log management framework
Modern Web Development with Perl
Modern Web Development with Perl
More from Yusuke Wada
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
Yusuke Wada
スッとGoを取り入れる
スッとGoを取り入れる
Yusuke Wada
東京脱出計画中
東京脱出計画中
Yusuke Wada
Extreme remote working
Extreme remote working
Yusuke Wada
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Yusuke Wada
創造のプロセスを回せ!v0.01
創造のプロセスを回せ!v0.01
Yusuke Wada
It's not only about "REMOTE"
It's not only about "REMOTE"
Yusuke Wada
事故からはじまるスケールチャンス
事故からはじまるスケールチャンス
Yusuke Wada
Google BigQueryを使ってみた!
Google BigQueryを使ってみた!
Yusuke Wada
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤
Yusuke Wada
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
5 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 2014
Yusuke Wada
Podcastをカジュアルに 支える技術
Podcastをカジュアルに 支える技術
Yusuke Wada
The master plan ofscaling a web application
The master plan ofscaling a web application
Yusuke Wada
そのWebサービスは本当に「あたりまえ」だったのか?
そのWebサービスは本当に「あたりまえ」だったのか?
Yusuke Wada
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
Yusuke Wada
10 things to learn from Bokete
10 things to learn from Bokete
Yusuke Wada
僕らの履歴書
僕らの履歴書
Yusuke Wada
僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由
Yusuke Wada
僕らがつくるための 「5W」について
僕らがつくるための 「5W」について
Yusuke Wada
More from Yusuke Wada
(20)
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
スッとGoを取り入れる
スッとGoを取り入れる
東京脱出計画中
東京脱出計画中
Extreme remote working
Extreme remote working
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
Podcastを支える技術、エンジニアのためのWebメディア、そしてCPAN
創造のプロセスを回せ!v0.01
創造のプロセスを回せ!v0.01
It's not only about "REMOTE"
It's not only about "REMOTE"
事故からはじまるスケールチャンス
事故からはじまるスケールチャンス
Google BigQueryを使ってみた!
Google BigQueryを使ってみた!
Webサービスのコンテンツパターン 或いはデータの活⽤
Webサービスのコンテンツパターン 或いはデータの活⽤
とある Perl Monger の働き方
とある Perl Monger の働き方
5 minutes - YAPC::Asia Tokyo 2014
5 minutes - YAPC::Asia Tokyo 2014
Podcastをカジュアルに 支える技術
Podcastをカジュアルに 支える技術
The master plan ofscaling a web application
The master plan ofscaling a web application
そのWebサービスは本当に「あたりまえ」だったのか?
そのWebサービスは本当に「あたりまえ」だったのか?
Mojoliciousでつくる! Webアプリ入門
Mojoliciousでつくる! Webアプリ入門
10 things to learn from Bokete
10 things to learn from Bokete
僕らの履歴書
僕らの履歴書
僕らがWebサービスをつくる5つの理由
僕らがWebサービスをつくる5つの理由
僕らがつくるための 「5W」について
僕らがつくるための 「5W」について
Recently uploaded
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
The Digital Insurer
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Dubai Multi Commodity Centre
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Patryk Bandurski
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Scott Keck-Warren
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Miki Katsuragi
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Wonjun Hwang
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Padma Pradeep
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Zilliz
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
SeasiaInfotech2
Recently uploaded
(20)
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
./ !""
repo # !"" Changes # !"" MANIFEST.SKIP # !"" Makefile.PL # !"" README # !"" lib # # %"" SampleApp.pm # !"" t # # %"" 00_compile.t # %"" xt # !"" 01_podspell.t # !"" 02_perlcritic.t # !"" 03_pod.t # %"" perlcriticrc %"" sandbox
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
./lib !"" SampleApp # !""
CLI # # %"" Crawler.pm # !"" Role.pm use Mouse::Role; # %"" Web # !"" API.pm use Mouse; with “SampleApp::Role”; # %"" Controller # %"" Root.pm $c->model(“API”)->get_entries(); %"" SampleApp.pm
40.
41.
42.
43.
44.
45.
46.
47.
48.
use
LWP::UserAgent; use Email::Sender::Simple qw(sendmail); use Email::MIME; use Try::Tiny; use YAML qw(LoadFile); use Path::Class qw( file ); my $file = $ARGV[0] || "config.yaml"; die "Can't open $file" unless ( -f file($file)->stringify ); my $config = LoadFile( file($file) ); my $ua = LWP::UserAgent->new( agent => 'Monita/0.01', timeout => 30 ); for my $url ( @{ $config->{url} } ) { my $res = $ua->get($url); send_report( $res ) unless $res->is_success; } sub send_report { my $res = shift; my $email = Email::MIME->create( header => [ From => $config->{from}, To => $config->{to}, Subject => $res->request->uri . ' : ' . $res->code, ], attributes => { content_type => 'text/plain', }, body => $res->status_line, ); try { sendmail($email) } catch { my $error = $_; warn $error->message }; }
Download now