Perlで伝統芸能

  • 3,079 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,079
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
1
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Transcript

  • 1. Perlで伝統芸能 hitode909
  • 2. Perlで伝統芸能 hitode909
  • 3. Perl
  • 4. Perlの 印象
  • 5. 伝統芸能しにくい
  • 6. 伝統芸能しにくい思いがち
  • 7. やれば できる ことを示したい
  • 8. 伝統芸能
  • 9. 伝統芸能カットアップ
  • 10. カットアップ
  • 11. 新聞を無作為に切り刻んで くっつけると 詩になる
  • 12. Perlを使って Perlの ソースコードをカットアップ
  • 13. 初級編 かんたん中級編 ちょっとまし上級編 むりやり
  • 14. 初級編 かんたん
  • 15. カットアップ初級編•Perlのソースコードを入力する• Perlのソースコードを3文字ずつ切る• 切った文字をつなぎあわせて出力する
  • 16. usese strict; client::UNIX;use Pod::Util::load_psgi/HellQuote($uri = ( server->[0], @args) = $conn = +{ }; [ AnyEventations: ", ($handler); ); } my $urluse Testings;exit;eval "requestings;use Getopts{help}; $socket, workers = IO::Server (@back::Loader->load($handler);
  • 17. usese strict;use Pod::Util::load_psgi/HellQuote($ur 違和感
  • 18. 中級編 ちょっとまし
  • 19. PPIを使うParse, 構文解析してくれるAnalyze CPANモジュールand 静的コード解析Manipulate Perl(without perl)
  • 20. カットアップ中級編•Perlのソースコードを入力する• PPIでPerlのソースコードを字句解析してトークンごとに切る•切ったトークンをつなぎあわせて出力する
  • 21. use FCGI::Client;use warnings;use IO::Socket::UNIX;use autodie;use Pod::Usage;use warnings;my $module = Plack::Util::load_psgi($opts{app});my @try = File::Temp::tmpnam();GetOptions( [ Starman, (workers=10), workers => 10 ], [ Starman, (workers=10), max_workers => sub { eval { Plack::Loader->load($handler->[0];my $fname ) = Plack::Loader->load($handler->[0]) }; kill 9, $pid; print "-- server: $server_class ", ($how || ), "n";
  • 22. [ Starman, (workers=10), workers => 10 ],[ Starman, (workers=10), max_workers => sub {eval { Plack::Loader->load($handler->[0]; さっきより自然
  • 23. [ Starman, (workers=10), workers => 10 ],[ Starman, (workers=10), max_workers => sub {eval { Plack::Loader->load($handler->[0]; さっきより自然 実行できない
  • 24. 上級編 むりやり
  • 25. カットアップ上級編•Perlのソースコードを入力する• PPIでPerlのソースコードを字句解析して トークンごとに切る•Perlのソースコードをつなぎあわせる• 文法エラーがないとき出力 perl -wc• いいのが出るまで無限ループ
  • 26. use strict;use strict;use strict;use HTTP::Message::PSGI;1;__END__=head1 NAMEPlack::Handler::Standalone - adapter for HTTP::Server::PSGI=head1 SYNOPSIS % plackup -s Standalone --host 127.0.0.1 --port 9091 --timeout 120=head1 DESCRIPTIONPlack::Handler::Standalone is an adapter for default Plack serverimplementation L<HTTP::Server::PSGI>. This is just an alias forL<Plack::Handler::HTTP::Server::PSGI>.=head1 SEE ALSOL<Plack::Handler::HTTP::Server::PSGI>=cut
  • 27. Perlソースコードを カットアップして 実行できるPerlソースコードの 生成に成功
  • 28. 今後の予定テストからソースコードを自動生成
  • 29. Perlで伝統芸能できる
  • 30. ありがとうございました
  • 31. 補足• URL • https://gist.github.com/1290440• 実行方法 • perl cutup_high.pl ~/tmp/Plack/**/**.pm