1 名前:デフォルトの名無しさん [2012/01/18(水) 02:58:16.13 ] CGI についての質問は板違いです。WEB プログラミング板でどうぞ。 CGI と Perl の区別がつかない人も WEB プログラミング板に行ってください。 (WEB プログラミング板: hibari.2ch.net/php/ ) このスレでは(CGI 以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。 スレ違いの質問にはスルーか、速やかな誘導をお願いします。 "The duct tape of the Internet" こと、Perl についての質問箱です。 "There's more than one way to do it" ということで、 Perl の奥深さについて皆で語り合い、追求してまいりましょう。 www.perl.org/get.html ● 2011/10/30 現在の最新版: 5.14.2 ▼ 前スレ Perlについての質問箱 49箱目 toro.2ch.net/test/read.cgi/tech/1319953460/ リンク集は >>2-3 辺り Perl 日本語処理の基礎の基礎 >>4 辺り
2 名前:デフォルトの名無しさん [2012/01/18(水) 02:58:43.37 ] [プログラミング自体の経験が無い奴はまずココを読め] Perl プログラミング講座: ttp://www.site-cooler.com/kwl/perl/ [本] リャマ: ttp://www.oreilly.co.jp/books/9784873114279/ 駱駝: ttp://www.oreilly.co.jp/books/4873110963/ Effective Perl: ttp://ascii.asciimw.jp/books/books/detail/4-7561-3057-7.shtml クックブック: ttp://www.oreilly.co.jp/books/4873112028/ Perl ベストプラクティス: ttp://www.oreilly.co.jp/books/4873113008/ Perl Hacks: ttp://www.oreilly.co.jp/books/9784873113142/ [オンラインマニュアル] 最新のドキュメント: ttp://search.cpan.org/dist/perl/ perldoc.jp: ttp://perldoc.jp/ perldoc.perl.org: ttp://perldoc.perl.org/
3 名前:デフォルトの名無しさん [2012/01/18(水) 02:59:04.49 ] [モジュール] CPAN.com: ttp://search.cpan.org/ 河馬屋二千年堂: ttp://homepage3.nifty.com/hippo2000/ [テクニック] Perl メモ: ttp://www.din.or.jp/~ohzaki/perl.htm Perl のページ: ttp://homepage1.nifty.com/nomenclator/perl/ Perl の小技: ttp://homepage3.nifty.com/hippo2000/perltips/index.htm [Perl 5.8 Unicodeメモ] ttp://www.rwds.net/kuroita/program/Perl_unicode.html (修正) ttp://www.namazu.org/~tsuchiya/perl/perl-5.8.html ttp://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html
4 名前:デフォルトの名無しさん [2012/01/18(水) 02:59:23.08 ] # [Perl 日本語処理の基礎の基礎] # このレスは、Windows の ActivePerl で日本語処理を行う場合のテンプレートです。 # このレスの内容をそのまま、UTF8 形式のソースファイルに保存して下さい。 # 入出力ともシフト JIS 形式のファイルまたは DOS 窓を想定しています。 # まず、以下の行を先頭に入れて下さい。 use utf8; use open IO => ":encoding(cp932)"; binmode STDIN => ":encoding(cp932)"; binmode STDOUT => ":encoding(cp932)"; binmode STDERR => ":encoding(cp932)"; # ※1 use Encode; # 次に、あなたが実行したい処理の内容を入れて下さい。 $file = 'C:/なんたら/かんたら.txt'; open my $fh, '<', encode("cp932", $file) or die $! ; # ※2 print <$fh>; # 以上の内容は、日本語処理が解らない人でも、とりあえず日本語処理ができてしまう # おまじないです。条件が異なる場合の対処方法は、ご自分で勉強して下さい。 # 【注】※1. の行を入れると、DOS 窓への日本語出力は簡便になりますが、 # ソースファイル名に非 ANSI 文字が含まれる場合に die 文の出力が失敗します。 # ※2. OS に渡す文字列(ファイル名,dos コマンドのオプションなど)は、 # この例のように cp932 でエンコードする必要があります。
5 名前:デフォルトの名無しさん [2012/01/18(水) 02:59:49.36 ] Encodeモジュール (現在のPerl文字コードの標準) search.cpan.org/dist/Encode/ UNICODEでわからなくなったらここを読め perldoc.jp/docs/perl/5.8.1/utf8.pod perldoc.jp/docs/perl/5.10.0/perlunifaq.pod
6 名前:デフォルトの名無しさん [2012/01/18(水) 07:56:08.27 ] DBIを使ってMySQLなどのデータベースを扱う時に、 データベースへ送るSQL文はutf8へエンコードした方が良いのでしょうか? $dbh->do(encode_utf8("UPDATE table SET name = 'てすと〜〜〜'")); このように書いても、また、encode_utf8を抜いて書いても、 どちらで試してもエラーは出ず、文字化けするような事もありませんでした・・・ 不要ならオーバーヘッドが起きるのでencode_utf8せず処理したいのですが、 一応utf8へエンコードしておいた方がよいでしょうか・・・?
7 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 08:59:16.41 ] >>4 前に書いたけれど、 use open IO => ":encoding(cp932)"; binmode STDIN => ":encoding(cp932)"; binmode STDOUT => ":encoding(cp932)"; binmode STDERR => ":encoding(cp932)"; は実際には use open qw(:encoding(cp932) :std); で充分じゃないの?
8 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 09:18:22.98 ] >>6 DBI は Perl のエンコードのことは考えずに、SET NAMES で指定したエンコー ディングで文字列がエンコードされているものとみなすので、UTF-8 なら引数 を encode しようがしまいが関係なしのはず。 select で返ってきた値は decode しないとその後の処理でおかしくなる可能性 が高い。
9 名前:デフォルトの名無しさん [2012/01/18(水) 09:38:05.76 ] >>8 教えてくれてありがとうございます。 わかりました、selectで取得する時だけdecodeするようにします。 何度も申し訳ないですが、もう一つ質問させてください。 オブジェクトを作って、インスタンス化し、 そのメソッド名を変数で指定する事は可能でしょうか? input1、input2、input3 というメソッドがある場合、 my $obj = MyObject->new(); @list = (input1, input2, input3); for my $m (@list) { $obj->$m("代入"); } 雰囲気的にはこんな感じで処理したいのですが・・・ もちろん、これではエラーが出てうまく動きませんでした。 どうすればうまく動いてくれるでしょうか・・・
10 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 10:18:49.41 ] >>9 > $obj->$m("代入"); これは可能。 perldoc.jp/docs/perl/5.10.0/perlobj.pod#Method32Invocation > 矢印の右側は典型的にはメソッド名ですが、メソッド名やサブルーチン > リファレンスが入った単純スカラ変数も使えます。 > @list = (input1, input2, input3); my @list = qw(input1 input2 input3);
11 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 10:29:41.60 ] >>10 教えていただきありがとうございました。 可能だと言われ、見なおした所・・・ 配列に入れてたメソッド名をタイプミスしてました・・・ 助かりました、ありがとうございました。
12 名前:デフォルトの名無しさん [2012/01/18(水) 11:17:21.10 ] コマンドプロンプトでperlを実行するにはどうしたらいいんですか? コマンドプロンプトウィンドウにソースコードファイルをドラッグしてエンター押しても ファイルが開くだけでした。 今まではBJDなどの簡易サーバーでブラウザで実行結果表示していたからやり方わからないです
13 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 11:24:31.37 ] perl perlscript.pl
14 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 11:30:41.49 ] >>12 >>2 www.site-cooler.com/kwl/perl/environment.htm#helloworld
15 名前:デフォルトの名無しさん [2012/01/18(水) 20:17:30.94 ] >>12 コマンドプロンプトの扱い方から勉強しなおせよ糞 コマンドプロンプトの使い方知ってたらファイルドラッグとかするわけないだろ Perl以前の質問をPerlスレでするとか荒らし?
16 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 23:18:51.34 ] スレ違いの質問にはスルーか、速やかな誘導をお願いします。
17 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 23:33:05.75 ] >>7 use open qw(:encoding(cp932) :std); だと単語数が多い割にはドキュメント性が低くて、何を cp932 と するのか分かりにくいのが難点。せめて :std がデフォルトになっ ていて、省略できればよかったのに。
18 名前:デフォルトの名無しさん [2012/01/19(木) 04:12:48.44 ] はいはいそうだね
19 名前:デフォルトの名無しさん [2012/01/19(木) 18:11:56.44 ] open(OUT,">test.dat"); close(OUT); このように空のファイルを作ったときエディタを開くと文字コードがshift-jisになっています。 エディタのステータスバーの右下のところがsjisになってます。 空のファイルでもEUCかUTF-8形式にしたいです。 どうすれば文字コードを指定してファイルの作成ができるのですか?
20 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 18:25:56.46 ] >>19 エディタのデフォルト設定の問題ですよね。
21 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 19:54:33.01 ] ここまでのアフォがいるとはさすがに思わなんだ…… ゆとりとかそういうレヴェルを遥かに超越したとんでもないks・kzだ お前にゃあプログrマイング一切は向いていない
22 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 20:38:57.78 ] なるほど、それであれほど言われてもSHFT-JISに固執してたのか 謎が解けたよ ぶっちゃけ君にパソコンは無理 いや、煽りとかそんなんじゃなくて、真面目な話で
23 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 20:39:55.16 ] >>21 >お前にゃあプログrマイング一切は向いていない 文法エラー
24 名前:デフォルトの名無しさん [2012/01/19(木) 21:28:34.09 ] >>19 ゴミは帰れよ
25 名前:デフォルトの名無しさん [2012/01/19(木) 22:07:38.62 ] Net::Twiterとかそのあたりで、TwitterのURLから書き込み内容とかのデータを取得するAPIってないかな。 CPANのドキュメント漁ってるけど見つからない・・・俺が節穴なのかな。
26 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 22:15:38.31 ] twitter.com/username/status/{status_id} からその内容を取りたいってこと? Net::Twitter(::Lite)?のドキュメント読んでそれが見つからないと言ってるのなら節穴なのかもね
27 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 22:16:28.00 ] > Twiter たぶんfusianaなんだろうなー > TwitterのURLから書き込み内容とか こっちのつづりは合ってるのにな―
28 名前:デフォルトの名無しさん [2012/01/19(木) 22:20:10.49 ] 節穴とゴミしかいないスレwwwwww
29 名前:デフォルトの名無しさん [2012/01/19(木) 22:21:29.66 ] >>26 そう。やっぱりあるよな。俺が節穴すぎるのか。 見なおしてくる。
30 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 22:21:49.70 ] ゴッミでぇーーーすッ!!!!
31 名前:デフォルトの名無しさん [2012/01/19(木) 22:24:45.73 ] ゴミはゴミ箱へ
32 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 22:32:37.04 ] スレ違いの質問にはスルーか、速やかな誘導をお願いします。 と言いましたが、アフォなので誘導は不要です。単にスルーでお願いします。
33 名前:デフォルトの名無しさん [2012/01/19(木) 22:49:19.95 ] ああ見つかった。俺節穴だな・・・。
34 名前:デフォルトの名無しさん [2012/01/19(木) 23:17:51.29 ] chinge
35 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 23:34:08.31 ] and Aska
36 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 23:42:46.80 ] Perl5.005までは Perlについて ttp://toro.2ch.net/test/read.cgi/tech/1217851121/l50 を使って同じ質問が繰り返されないようにすることを提案します。
37 名前:デフォルトの名無しさん [2012/01/19(木) 23:45:58.11 ] うるさいゴミ
38 名前:デフォルトの名無しさん [2012/01/20(金) 01:50:05.47 ] >>36 =ただの自治厨
39 名前:デフォルトの名無しさん [2012/01/20(金) 02:11:40.81 ] hoge.plがおいてあるフォルダにあるテキストファイル名を 取り込みリストに格納したいのですがどうしたらできますか?
40 名前:デフォルトの名無しさん [2012/01/20(金) 02:13:26.80 ] 要するに ls *.txt の結果を受け取りリストに格納したいのです
41 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 05:38:32.82 ] opendir(my $dh, './') or die $!; my @list = grep(/\.txt/ ,readdir($dh)); closedir($dh);
42 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 05:41:25.50 ] あ、plおいてあるとこるか './ 'をdirname($0)に変更かな use File::basenameしといて
43 名前:デフォルトの名無しさん [2012/01/20(金) 12:47:09.53 ] >>22 PCインストラクター、SE、PGもやってきているのでパソコンが無理ってことはないです パソコンは会社で一番できるし、上司よりもできるのでパソコンは得意です
44 名前:デフォルトの名無しさん [2012/01/20(金) 12:48:18.90 ] perlで2次元配列を使うにはどうすればいいのか教えてください
45 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 13:01:22.37 ] >>43 偽物乙 子供が用語だけ並べてもダメよ
46 名前:デフォルトの名無しさん [2012/01/20(金) 13:16:36.03 ] >>44 ↑ このゴミ何?
47 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 14:10:35.25 ] >>44 リファレンスを使うんだ
48 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 15:09:56.81 ] >>43 そのパソコン大先生が何でこんなスレで質問なんかしてるの?
49 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 16:44:50.86 ] >>44 perldoc.jp/docs/perl/5.10.0/perllol.pod
50 名前:デフォルトの名無しさん [2012/01/20(金) 16:56:05.01 ] >>42 こうなったんですが・・・ ちなみにperl hoge.plはエラーはないものの正しく動作しません $ cpan -i File::Basename CPAN: Storable loaded ok (v2.20) Going to read '/home/****/.cpan/Metadata' Database was generated on Fri, 20 Jan 2012 05:11:07 GMT Running install for module 'File::Basename' CPAN: YAML loaded ok (v0.71) The most recent version "2.83" of the module "File::Basename" is part of the perl-5.15.4 distribution. To install that, you need to run force install File::Basename --or-- install F/FL/FLORA/perl-5.15.4.tar.gz CPAN: Time::HiRes loaded ok (v1.9719) Running make test Can't test without successful make Running make install Make had returned bad status, install seems impossible
51 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:57:57.85 ] >>50 5.15.4 なら File::Basename は標準で入っているのでわざわざ入れなくていい。 >>41-42 の言わんとしている事はこう。 #!/usr/bin/perl -w use strict; use File::Basename; # search.cpan.org/dist/perl/lib/File/Basename.pm my $path_separator = '/'; my $dir = dirname($0); # perldoc.jp/docs/perl/5.14.1/perlvar.pod opendir(my $dh, $dir) or die $!; print map "$dir$path_separator$_\n", grep(/\.txt\z/, readdir $dh); # もしくはこう。 print map "$_\n", glob "$dir$path_separator*.txt"; # 本当に ls *.txt が欲しいのならこう。 print `ls *.txt`; # perldoc.jp/docs/perl/5.14.1/perlop.pod#Quote-Like32Operators
52 名前:デフォルトの名無しさん [2012/01/20(金) 18:28:25.53 ] ↑クソワロタwwwwwwwww
53 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 19:57:50.62 ] >>51 perl v5.10.1 だったのですができました。 ありがとうございます。 失敗してた理由はいまから調査します。
54 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 20:08:47.55 ] >>53 >>50 >>40 >>39 ですが ただしく作動しなかった理由がわかりました。 デバッグしてる時の話ですが ある場所で処理を止めたいので sleep(100); を挟んでいました。sleepはちゃんと止めたい場所の下に入れてたのですが どうも出力が遅れる事が多いのです。 なぜだかわかりません。環境はcygwinです。 <>;で止めるほうがいいのでしょうか? $ uname -r 1.7.9(0.237/5/3) $ perl -v This is perl, v5.10.1 (*) built for i686-cygwin-thread-multi-64int (略)
55 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 20:18:10.53 ] >>44 ものぐさなPerlの世界へようこそ。 他のスクリプト言語に慣れているのならperlrefとperlvarを一読することをお勧めします。 Perlでは配列をネストしようとするとすべてペッタンコに並列化してしまいます。 my @aa = ('foo', 'bar'); my @ab = ('hoge', 'fuga'); my @ac = (@aa, @ab); # => ('foo', 'bar', 'hoge', 'fuga') $ac[2]; #=> 'hoge' 二次元配列を扱う場合はリファレンスを使って下さい。 my @ac = (\@aa, \@ab); # => (['foo', 'bar'], ['hoge', 'fuga']) $ac[1]->[0]; #=>'hoge' 並列化する意図がなければ、配列を全てリファレンスとして扱う方が分かりやすいかもしれません。 my $aa = ['foo', 'bar']; my $ab = ['hoge', 'fuga']; my $ac = [$aa, $ab]; $ac->[1]->[0]; # => 'hoge', これは次のように省略できます。 $ac->[1][0]; 次は一時変数の時にお会いしましょう。ごきげんよう。
56 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 20:29:21.69 ] >>54 Perlにはデバッガーがついています。 便利ですので、眠たがらずに是非活用しましょう。 d.hatena.ne.jp/perlcodesample/20100302/1269670120
57 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 20:43:49.46 ] >>56 デバッガーがある事を知りませんでした。 使ってみます。 ありがとうございました
58 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 22:24:17.89 ] Perlの基本はあらかたわかったけどどういう時にどういうモジュール使えば良いのかよくわからんな これは自分で調べながら経験を積むしか無いのか
59 名前:デフォルトの名無しさん [2012/01/21(土) 01:05:01.17 ] モジュール探すのは時間がかかるし解説サイトが英語ばかりだから ちょっとしたものは自分で作る方が早いよ なんでもかんでもモジュールに頼るとプログラミング力が養われない
60 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 01:09:01.61 ] >>59 LWPなしにネット関係の処理すると思うとぞっとします。
61 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 01:26:13.81 ] >>59 こういうこと言う奴が既存のモジュールよりもいい物を作れたためしがない
62 名前:デフォルトの名無しさん [2012/01/21(土) 02:02:55.88 ] 難しい理由の一つに英語を挙げるヴァカがいるのはこのスレですか? 自分の頭の悪さではなく言語を言い訳にするとかガチ池沼w さっさと回線切ればいいのにwww
63 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:38:05.80 ] いまさらplaggerをlinuxにインストールしようとしてるんだけど、 今はもうできないの? CPANから全然入らない。
64 名前:デフォルトの名無しさん [2012/01/21(土) 03:58:50.99 ] ソース落としてきてコンパイルすればすむ話だろ
65 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 07:31:44.56 ] >>63 自分はcpanmでできました。 どうしてもだめならテストかっとばしたらどうでしょう。
66 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 07:34:26.98 ] >>56 何も環境を用意しなくても、-d を指定するだけで使える便利さ。 それに比べてPHPときたら…
67 名前:デフォルトの名無しさん [2012/01/21(土) 11:33:14.02 ] PHP使ってる奴は情弱 脳に問題あるのかと思うくらい情弱
68 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 13:51:32.86 ] 【プログラミング部】 PHPが100倍速で動くようになったぞー awabi.2ch.net/test/read.cgi/poverty/1327050821/
69 名前:デフォルトの名無しさん [2012/01/22(日) 12:28:25.82 ] UTF8にしたのに文字列の中でユニコードの特殊文字が使えません。 例えば○の中にRが入っている文字®という文字を文字列の中に入れたいんですが この文字列をエディタにコピペするとただのRになってしまいます。 $str = "あああ®www";というようにしたいのですがうまくいきません。 UTF8ではユニコード文字が使えるんじゃなかったのですか?
70 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 12:33:46.33 ] UTF8が使えるエディタに変更してください。 Perlとは全く無関係の話です。
71 名前:デフォルトの名無しさん [2012/01/22(日) 15:14:56.72 ] >>69 Perl関係ないのに書き込むなよゴミ
72 名前:デフォルトの名無しさん [2012/01/22(日) 18:08:49.84 ] いいだろカス
73 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:17:42.73 ] 病的折衷主義のガラクタ出力装置から出てくるのはやっぱりゴミカスか
74 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:34:04.56 ] だったらPython使えよ 外人が作ってて書き方は一つしかないきっちりしたPythonを!
75 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:41:25.91 ] > 外人が作ってて お前はゴミカス同様に欧米コンプとかあんのか? アフォじゃねーの? 何人が作ろうと関係ないじゃんか これだから低能のksは困る 巣に引っ込んでろgm
76 名前:デフォルトの名無しさん [2012/01/22(日) 20:00:47.37 ] 突っ込むようなところじゃないのに突っ込んでファビョってるヴァカは可哀想としか言いようがない
77 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 20:05:16.19 ] >>75 >何人が作ろうと関係ないじゃんか ところが関係あるんだなぁこれが。 特にRubyが嫌いでPythonに定着した人たちにとっては。
78 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 20:11:01.45 ] >>77 もしかするとお前はスレタイも読めないのか? 本当に日本人なのか? それ以前にアルファベット読めるのか? ここはperlのスレだぞ? Rubyの何かと勘違いしていないか? 外人が作ったから良いんだみたいなksなオナニーショーはRubyスレでやってろgomi あとどこら辺に国民性が出てるのか言えるんだろ? 言ってみろよkz まあお前は低能の肥溜めのハエ以下の蛆だからぁ 何も語れずにクソひり出して大人しく墓穴に入ってりゃあいいさ
79 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 23:13:11.23 ] お手本になる、小さくまとまってて綺麗なPerlモジュールってCPANで言うとどれ? 玉石混交とはよく聞くけど、何が「玉」で何が「石」か判断つかない。 お勧めあったら教えて。
80 名前:デフォルトの名無しさん [2012/01/22(日) 23:44:10.02 ] うるさいゴミ
81 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:07:04.73 ] 図書館の地図の日本海に「東海シール」を貼りつける韓国人 図書館所蔵地図の日本海の上に「東海シール」を貼りつける韓国人たち 画像 mamorenihon.files.wordpress.com/2012/01/kankoku2.jpg January 16, 2012 ameblo.jp/asuka-1020-umare/entry-11137288593.html www.youtube.com/watch?feature=player_embedded&v=nmRGjO4Jj0Q
82 名前:デフォルトの名無しさん [2012/01/23(月) 17:51:18.91 ] ファイルを開くときの例外処理って必ずする必要があるのですか? このようにファイルを開けなかった場合はデフォルト値にしたい場合 例外処理するとopenでプログラムが終了されて、デフォルト値にすることができないのでこのようにするしかないんですが @default_hobby_list=("ゲーム","アニメ","PC"); open(IN,"hobby.dat"); @hobby_list = <IN>; close(IN); #@hobby_listが取得できなかった場合 if(@hobby_list==0){ @hobby_list = @default_hobby_list; }
83 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 18:38:24.25 ] 例外処理って何のこと? 普通にこんなのじゃいけないの? if (open my $f, 'filename') { なんか処理; close $f; } else { デフォルト処理; }
84 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 18:50:24.48 ] >>82 それだと読み込んでも配列がゼロ行なら処理しちゃうよ。 それでも良いなら良いけどね。 あと、例外処理って"or die"のことか? 別にdieじゃなくても $operror = 0; open(IN,"hobby.dat") || $operror = 1; とかできるぞ。
85 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:06:52.71 ] 例外処理は必須じゃなくてアプリケーションのポリシーによるのだけど、 open が失敗するのはファイルが存在しない場合だけじゃないので、 ファイルの存在確認をしたいだけならファイルテスト演算子を使うべきだし、 open についても die じゃなくてもせめて warn $! ぐらいはしといたほうが、いざ想定外が起こったときにも原因究明に時間かけなくて済むよ。 # >>85 - for popup use strict; use warnings; my $filename = './hobby.dat'; my @default_hobby_list = ("ゲーム", "アニメ", "PC"); my @hobby_list; if (-f $filename && -r _) { open my $in, '<', $filename or die "cannot open: $!"; @hobby_list = <$in>; close $in or die "cannot close: $!"; } if (@hobby_list) { chomp @hobby_list; } else { # file not found or empty @hobby_list = @default_hobby_list; }
86 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:08:24.40 ] あ、最後のif-elseのifのほう無駄だな。最初のifに含めればいいだけだ。
87 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:40:05.40 ] >>84 > open(IN,"hobby.dat") || $operror = 1; || の方が = より優先順位が高いので compilation error になる。
88 名前:デフォルトの名無しさん [2012/01/23(月) 21:51:24.57 ] 行の末端から読んでソートするにはどうすればいいですか? ?かすでいいばれすうどはにるすトーソでん読らか端末の行 (例) yahoo apple google goo banana ↓ banana google apple goo yahoo -- 入出力は何でもいいです。
89 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:53:35.59 ] 宿題みたいだなー。答えたくないなー。
90 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:15:47.71 ] >>88 perldoc.jp/func/reverse perldoc.jp/func/sort
91 名前:デフォルトの名無しさん [2012/01/24(火) 03:29:33.24 ] Twitterは32分で返信きてた このスレのハゲは本当に無能ばかりだな >>89 問題外 分からないならレスするなカス >>90 遅い URL貼るだけに何分かかってんだよ
92 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 03:35:44.74 ] じゃあこんな所じゃなくてトゥイッタァーでやればよくね?
93 名前:88 [2012/01/24(火) 03:37:43.23 ] >>88 ≠>>91
94 名前:88 [2012/01/24(火) 03:38:44.21 ] 早い話がリモートホストの集計がしたいのですが どうやったらいいのでしょうか? 逆順ソートすればいいのかと思ってるのですが
95 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 04:52:04.82 ] リモートホストの集計と逆順への並べ替えの関係がよくわからんのだが これじゃだめなのかい while (<>) {unshift @data, $_}
96 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 05:03:23.47 ] >>94 >>88 のままでいいなら >>90 の関数を使って print map reverse . "\n", sort map scalar reverse, qw( apple.com example.jp example.net example.org goo.ne.jp google.com google.co.jp namco.jp namco.co.jp yahoo.com yahoo.co.jp apple.com ); TLD・ドメイン名・ホスト名を区別して揃えてくれるソートルーチンが欲しいなら 既存のアクセス解析ツールのコードをあたってもらった方が早いし、 ここでダラダラ再発明されても困る。
97 名前:デフォルトの名無しさん [2012/01/24(火) 17:38:29.94 ] クソスレわらた
98 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:48:39.15 ] >>97 失せろゴミ
99 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:54:44.03 ] ↑頭悪そう、PHP厨か?w
100 名前:デフォルトの名無しさん [2012/01/24(火) 17:59:28.47 ] 最強の言語はPHPでしょ Perl(笑)とかw
101 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 18:02:50.11 ] >>100 コマンドラインから実行でも<>が無いと何にもできない最強言語乙。
102 名前:デフォルトの名無しさん [2012/01/24(火) 18:04:13.29 ] >>100 =ゴミ
103 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 18:05:01.39 ] うるさいゴミ
104 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 18:06:21.48 ] PHP<?笑?>
105 名前:デフォルトの名無しさん [2012/01/24(火) 19:14:07.96 ] PHP厨≦PHP<ゴミ
106 名前:デフォルトの名無しさん [2012/01/24(火) 22:06:37.84 ] use strict;使わない奴は基地害
107 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:31:34.63 ] 必要なときにPerl4使えない奴は単なる無能
108 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:34:47.74 ] C風のスタイルしか受け入れない奴も基地外 Perlやるならnext ifぐらい理解しやがれ脳弱
109 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:37:42.45 ] >>108 =Cに挫折した低脳
110 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:39:54.64 ] つまりstrictとかないphpが最も優れた言語。
111 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:41:58.57 ] >>110 PHPが優れているのは正しいが それはstrictがあるからだ。
112 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:50:36.15 ] 言語仕様が全体で一貫している言語が必ずしも優れているとは限らない PHPはそれを教えてくれる
113 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:19:53.30 ] PerlとPHPを比較する人は無能。 ついでにその人はプログラマでもない。
114 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:26:10.67 ] >>113 説得力のある理由を言えなければ お前が無能ってことでw
115 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:04:43.29 ] つまりFORTHが最強ってこと?
116 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:06:57.76 ] このスレに来てるだけですでに・・・
117 名前:デフォルトの名無しさん [2012/01/25(水) 01:52:31.34 ] ゴミは書き込むなって
118 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 01:55:09.99 ] >>114 君がプログラマじゃないから。説得力あるだろ。 そもそもそんな理由聞いてる時点でな…… ま、学生のスレだな。
119 名前:デフォルトの名無しさん [2012/01/25(水) 02:07:33.90 ] 要はPHPはPerlの比較対象ではないということだ。 Perl=プログラミング言語 PHP=産廃 言い方を変えれば、 カレーとうんこを比較する人は低能。 ついでにその人は料理人でもない。
120 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:10:49.39 ] な。すぐ二つ並べて比べて下らないこと書きたがるだろ。
121 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:12:31.16 ] php厨は失せろよ・・・
122 名前:デフォルトの名無しさん [2012/01/25(水) 02:36:33.52 ] >>118 が説明能力なさすぎてワロタwwwwwwwww 説明できずに恥さらすだけならレスしなきゃいいのにwwwwwwwwwwwwww
123 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:41:07.46 ] いちいち具体的に書くメリットなかったのよ。数年ぶりに来ただけだしね。 別に恥じゃないよ。正直どうでもいい。 ただプログラマが減ってるのは残念かな。
124 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 06:02:52.46 ] >>109 今さら自己紹介は要らんよ
125 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 09:21:43.20 ] >>108 if (open(IN, "abc") == 0) { die("なんたら"); } とかも勘弁してほしいw
126 名前:デフォルトの名無しさん [2012/01/25(水) 10:06:30.98 ] 嫌ならPerl使うなよゴミ
127 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 10:15:09.46 ] >>126 Perlスタイルも理解できないお前が言うことかよ脳弱
128 名前:デフォルトの名無しさん [2012/01/25(水) 12:14:44.28 ] 昨日から沸いてる>127みたいな基地害はなんなの?
129 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:24:21.83 ] >>128 荒らしたいだけの脳弱だから放置しろ お前みたいなヴァカが相手するから住み着くんだろ
130 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 13:21:16.15 ] >>124 自分にとって自己紹介だから他人も自己紹介してると思ったのか。 C程度で挫折するとかかわいそう。
131 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 13:45:37.69 ] ゆとりっていいね
132 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 13:48:02.54 ] 2chは4,5人で徒党を組まれて荒らされると打つ手無しだからな。 どうにもならんわ。
133 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 13:53:28.72 ] 仮にID出すようにしたって、何の役にも立たんしな ここに来るような奴なら、IDなんていくらでも変え放題
134 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 14:21:01.95 ] > C程度で挫折するとかかわいそう。 同じことを何度も言うとは、よっぽど嫌な思い出があるんだろうな
135 名前:デフォルトの名無しさん [2012/01/25(水) 14:45:19.58 ] たった2回で何度もとか言い出すとかよっぽどトラウマあるんじゃねw
136 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 14:50:07.15 ] くだらないレスしてるならsageろ。
137 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:01:43.23 ] >>134 荒らすなよゴミ
138 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:14:17.14 ] > 荒らすなよゴミ > 嫌ならPerl使うなよゴミ > ゴミは書き込むなって > PHP厨≦PHP<ゴミ > うるさいゴミ > >>100 =ゴミ > 失せろゴミ > うるさいゴミ
139 名前:デフォルトの名無しさん [2012/01/25(水) 15:17:23.65 ] 1 :デフォルトの名無しさん:2011/12/18(日) 17:23:47.01 やはりPHP書きよりPerl書きの方が頼りにされていた日立製くん所との案件で おれはコーディング開始時期に遅れてしまったんだがちょうど書きはじめたみたいでなんとか耐えているみたいだった おれは別派遣先にいたので急いだところがアワレにもPHP書きがくずれそうになっているっぽいのがメール会話で叫んでいた どうやらPHP書きがたよりないらしく「はやくきて〜はやくきて〜」と泣き叫んでいるコーダーのために俺は契約解除を使って普通ならまだ付かない時間できょうきょ参戦すると 「もうついたのか!」「はやい!」「きた!Perlきた!」「メインPerl書ききた!」「これで勝つる!」と大歓迎状態だったPHPはアワレにもコーダーの役目を果たせず泣いていた近くですばやくPerlを書いてコーディングした PHP書きから裏メールで「勝ったと思うなよ・・・」ときたが開発メンバーがどっちの見方だかは一瞬でわからないみたいだった 「もう勝負ついてるから」というと黙ったので日立プロパーのJava書きの後ろに回り、モジュールのテストをして何週間かしてたらサーバーサイドのコーディングは終わった 「Perl書きのおかげだ」「助かった、終わったと思ったよ」とPHP書きを行き帰らせるのも忘れてメンバーがおれのまわりに集まってきた忘れられてるPHP書きがかわいそうだった 普通なら裏メールのことで無視する人がぜいいんだろうがおれは無視できなかったみんなとよrこびほめられたかったので打ち上げ飲み回に誘ってやったらそうとう自分の裏メールが恥ずかしかったのか自社に帰って行った
140 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:31:26.60 ] 何かの言語が使えるのにそれ以外の 言語で躓づくとか普通ならあんまり無いけどな・・・
141 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:41:38.78 ] こんにちは。Perl初心者です。 下記は、入門書によくあるカウンターのお決まりの一文らしいのですが、 open(DAT, "+< $datfile"); flock(DAT, 2); $data = <DAT> +1; <DAT>の意味が理解出来ません。 <>の意味はなんですか? なんで<>を付けるのか分かりません。 本には、その事は一切スルーされているのですが、 何故HTMLでも無いのに<>で囲う必要があるのかが、分かりません。 ご教授宜しくお願いします。
142 名前:デフォルトの名無しさん [2012/01/25(水) 15:50:10.01 ] >>141 >ご教授宜しく 意味不明。 日本語もまともに使えない池沼がプログラム?
143 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:56:07.35 ] 初心者って付ければ免罪符になると思ってるヴァカは帰ってね
144 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 16:06:10.50 ] 誰か情報乞食の>141に教えてやれよ
145 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 16:10:30.01 ] >>141 perldoc.jp/func/readline
146 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 16:25:23.18 ] そんなことも自分で調べられない>>141は この高度情報化社会には不要
147 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:02:07.65 ] 春厨かな
148 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:07:02.52 ] >>142 「質問に答えるスキルはないので、取りあえずそこを突っ込んでみました」 ってかw
149 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:15:35.49 ] これも同じ春厨 76 :デフォルトの名無しさん :2012/01/22(日) 20:00:47.37 突っ込むようなところじゃないのに突っ込んでファビョってるヴァカは可哀想としか言いようがない 129 :デフォルトの名無しさん :sage :2012/01/25(水) 12:24:21.83 荒らしたいだけの脳弱だから放置しろ お前みたいなヴァカが相手するから住み着くんだろ 143 :デフォルトの名無しさん :sage :2012/01/25(水) 15:56:07.35 初心者って付ければ免罪符になると思ってるヴァカは帰ってね
150 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:22:13.69 ] 可哀想な奴の多いすれ
151 名前:デフォルトの名無しさん [2012/01/25(水) 17:23:10.88 ] >>147 =ニート
152 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:31:49.05 ] ニートじゃねぇよ 一般企業は5時に終業だって知ってる?
153 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:33:59.02 ] ※※※※お知らせ※※※※ 必要な情報も出たので 叩かれてキレた141が暴れております
154 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:37:31.46 ] >>152 まともな企業なら、就業時間外だろうが自分の携帯からだろうが 会社で2ch禁止 って知ってる?
155 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:39:56.06 ] >>153 本当にゴミはゴミみたいな書き込みしかできないんだな。
156 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:40:52.04 ] 今日は大繁盛だな。
157 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:41:38.98 ] 17:02だからもう会社から出てるかもしれなくね?
158 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:45:19.73 ] 17時終業だからって17時に帰れる会社なんてあるわけないだろwww 普通は終電間際にならないと帰れないのが普通wwww
159 名前:デフォルトの名無しさん [2012/01/25(水) 17:46:40.65 ] うちは2chでもTwitterでも短時間ならおkって言われてる
160 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:21:59.48 ] >>158 日本語もままらないあわれな社畜
161 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:34:03.05 ] ニコニコニュース+α 「韓国『金正日萌え』ツイート逮捕事件」 live.nicovideo.jp/watch/lv78963873 【会場のご案内】 2012/01/26(木) 開場:20:50 開演:21:00 反国家的ツイートにご用心?! この事件から見える韓国社会の姿とは? 23日に配信されたニコニコニュースの記事が、 ネット上で大きな反響を呼んでいます。 その記事とは、 韓国で「金正日萌え」とツイートした24歳のパク・ジョングンさんが、 同国の国家保安法違反で逮捕されたことを報じたもの。 コメントは2000件以上、まとめサイトにも多数転載されました。 記事:『韓国で「金正日萌え」とツイートした青年が逮捕される』(2012年1月23日) 今回、ニコニコ生放送では、逮捕されたパクさんの友人で、 立教大学の留学生でもあるキム・ソンハさんに詳しくお話を伺います。キムさんは、 国家保安法など韓国の社会システムに関心があり、研究・執筆活動をしています。 また、パクさんを自身のウェブマガジンの連載で逮捕前から取り上げるなど、 今もっともパクさんを知る人物でもあります。 国家保安法とはどういう法律なのか? 韓国ではどう受け止められているのか? イ・ミョンバク政権が韓国の若者に不人気な理由とは? 韓国で沸き起こるデモの話や韓国社会の問題点について、 キムさんというひとりの若者の視点から語ってもらいます。 聞き手は、数々の公安事件や経済事件の取材に携わり、 元共同通信社記者でソウル特派員も務めたジャーナリストの青木理氏。
162 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:40:02.43 ] 「たった80人で"欧州でも大人気"?」K-POPのブーム捏造に韓国本土からも批判噴出中 またぞろ、韓国メディアによるK-POPブームのゴリ押しが露見した。 韓国が欧州の若者1,208人を対象に行った「韓流および国家ブランド調査」で、韓国と聞いて思い浮かぶイメージの2位が「K-POP」だったというのだ。 この結果にネット掲示板などでは「日本でも作られた人気なのに、欧州で人気なんかあるはずがない。」などとブーイングが殺到している。 「実は、このデモも韓国側のヤラセ説が根強いんです。デモの様子が動画サイトのYouTubeにアップされているのですが、 これを見ると韓国人スタッフらが集まった現地の少数のファンたちにデモの動きを指示していることが分かります。 実際、パリやロンドンの大手CDショップに行ってもK-POPアーティストのCDなんて置いていない」 (韓国のエンタメ事情に詳しい音楽ライター) www.cyzo.com/2012/01/post_9671.html
163 名前:デフォルトの名無しさん [2012/01/25(水) 19:34:39.29 ] Kポップなんか流行るわけないだろ 俺の周りには聴いてる奴一人もいないぞ
164 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:03:11.74 ] 俺の周りには 一人もいないぞ
165 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:14:16.54 ] >>156 ニートの人が住み着いたんだよ。
166 名前:デフォルトの名無しさん [2012/01/25(水) 21:06:39.77 ] なんでネトウヨがコピペしてんだ クソスレだけにしとけって
167 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:14:31.38 ] >>145 神様 返事が遅れて申し訳ありません。”○┐ 調べるのに相当時間が掛かりましたが、本当にありがとうございました。 そのHPのリンク先に、私が求めていた答えがズバリありました! <FILEHANDLE> は readline(*FILEHANDLE) とも書けます。 なるほど・・・前者の方が短くてスマートな命令文ですね。 しかし、初めてPerlを始めようとする私には不思議なタグに感じられて困惑してました。 的確な御指導ありがとうございました。
168 名前:デフォルトの名無しさん [2012/01/25(水) 22:26:27.20 ] 低能ほど長文を残していく良い例 初めてとか感じられたとか、ここはいつからお前の感想を書く場所になったんだ?
169 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:43:44.10 ] 質問するだけして無言で去るよりはマシ
170 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:54:39.44 ] >>167 まず、適当な入門書を通読しろよ。 んな、英語で言えば「is」って何ですか?みたいなレベルのことがいちいち訳分からん状態じゃ あまりに非効率だ。
171 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:54:56.80 ] 質問の仕方からして根本的に頭悪いんだから長文くらい許してやれ。
172 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:58:21.97 ] >>170 それができない程ゴミだからこのスレできいてんだろw 回答者のことをおだてればパシられてくれる 人力検索くらいにしか思ってないぞww そうじゃなきゃURL一つ貼った奴に 「神様」とかおちょくった呼び方しないってwww
173 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:06:10.14 ] >>170 学習姿勢のない池沼には何言っても無駄。
174 名前:デフォルトの名無しさん [2012/01/25(水) 23:14:31.92 ] 知恵遅れの小学生を捕まえて、いい大人がよってたかってフルボッコ 恥ずかしくないのかね 明らかにおかしいんだからスルーすればいいのに
175 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:57:39.57 ] 知恵遅れの小学生をいじめるのはたいがい小学生だろう
176 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 08:36:29.15 ] ここよりWebProg板の質問スレのほうが親切
177 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 08:38:30.24 ] しかしWebProg板で高級シェルスクリプトの話は出来んのよね
178 名前:デフォルトの名無しさん [2012/01/26(木) 10:20:36.14 ] WebProgは馬鹿にこき使われるのが好きなMが多いからな
179 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 10:52:47.05 ] AWKで言うFNRってどうすればいい? NRは$.があるけど…
180 名前:デフォルトの名無しさん [2012/01/26(木) 13:30:41.42 ] ステマ
181 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 14:16:46.91 ] >>179 各ファイルの終端はeofで検出できるから、その都度$.=0する。 同時にNRも必要なら、変数要るけど。 perldoc.jp/func/eof
182 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 18:18:08.84 ] >>181 なるほど… ・PerlでEOFを意識したことがなかった ・$.を書き換えるという発想がなかった ので、ちょっとビックリした。 他にはeof検出時の$.を保存して 差分を出すとか色々やり方ありそうだ、thx
183 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 18:49:56.47 ] >>181 のURLはアフィ目的
184 名前:デフォルトの名無しさん [2012/01/26(木) 18:53:36.68 ] うるさいゴミ
185 名前:デフォルトの名無しさん [2012/01/26(木) 21:27:03.50 ] 橋下市長 君が代起立斉唱は思想信条の自由ではない 公務員改革に精通する木下敏之氏(前佐賀市長)が指摘する。 「口先で丸めこむだけでは通用しなくなる。橋下氏は“役人は敵”という原理主義者ではない。 自分のことを好きでも嫌いでも構わないが、自分の政策を実現できる働く役人が良い役人と考える プラグマティスト(実用主義者)なのでしょう」 君が代起立斉唱すべきか否かというのは思想信条の自由に関する問題ではなく、 組織として決めたことは守りましょうという組織論なのだ。 www.news-postseven.com/archives/20120125_82321.html
186 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:26:26.51 ] 誰かdankogai黙らせてください いつまでjcode.pm振りかざすんですか
187 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:45:06.58 ] dankogaiの作った Perl標準のEncodeモジュールを 使いましょうねw
188 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:45:18.55 ] >>186 お前が黙れよ池沼。
189 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 23:34:33.31 ] 断固、害。
190 名前:デフォルトの名無しさん [2012/01/27(金) 00:05:26.04 ] くそすれ
191 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 00:27:47.78 ] use strict; use Encode;
192 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 01:54:01.16 ] (アマチュア、または初心者の場合) use strict; use Jcode;
193 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 01:57:07.39 ] (アフォの場合) use stricts ; use warning ;
194 名前:デフォルトの名無しさん [2012/01/27(金) 03:46:17.41 ] へぇ
195 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 04:40:20.23 ] (俺の場合) use struct; 「あっ」
196 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 11:12:08.06 ] 【ひこちん】捻じ曲げるマスコミとだまされる俺 www.nicovideo.jp/watch/sm16798880 フジ偏向・花王デモ四国 前半 www.nicovideo.jp/watch/sm16798520 フジ偏向・花王デモ四国 街宣 www.nicovideo.jp/watch/sm16798788 日本の政治家は日本国民の為にこそ働けよ! www.nicovideo.jp/watch/sm16797505 野田首相側、111万円受領 暴力団に便宜疑いの社長側献金 www.nicovideo.jp/watch/sm16795979 【今週の御皇室】両陛下の御公務と、天皇陛下の御言葉[桜H24/1/26] www.nicovideo.jp/watch/so16795333 【守るぞ尖閣】国会議員現地視察・中山市長電話インタビュー[桜H24/1/26] www.nicovideo.jp/watch/so16795330 【国民愚弄】野田首相のブーメランと読売新聞の増税扇動[桜H24/1/26] www.nicovideo.jp/watch/so16795315 【被災地の声】碇川町長と菅野村長が安倍元首相と会談[桜H24/1/26] www.nicovideo.jp/watch/so16795309 【柚原正敬】台湾総統選・立法院選から見る日台関係[桜H24/1/25] www.nicovideo.jp/watch/so16793360
197 名前:デフォルトの名無しさん [2012/01/27(金) 11:16:29.42 ] Perlはレガシー
198 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 11:43:30.80 ] >>197 さんざんてめーでレガシーな書き方しといてその開き直りか
199 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 15:22:20.21 ] (お前の場合) use homo; 「アッー!」
200 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 15:29:40.28 ] >>198 の反応のしかたもレガシー。
201 名前:デフォルトの名無しさん [2012/01/27(金) 20:58:05.36 ] 破廉恥
202 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 23:42:28.14 ] モダンがモダンでないように、レガシーもレガシーじゃないんだよね 言葉は変化するというけれどこれはただの誤用だよね 意図的かもしれないからその手には乗らないけどね
203 名前:デフォルトの名無しさん [2012/01/28(土) 04:26:30.31 ] >>202 =低脳
204 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 04:33:31.84 ] >>203 =ゴミ。
205 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 06:13:29.65 ] >>205 =ハゲ
206 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 06:31:04.60 ] >>206 =俺
207 名前:デフォルトの名無しさん [2012/01/28(土) 10:53:37.80 ] >>206 =通算50206番目の書き込み
208 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:17:06.33 ] 引数の0と何も引数がないのをうまく区別する方法はないでしょうか? 例えば、program 0なら引数の0を使って処理をしてprogramだけだとエラーを表示するようにしたいのです。 if(!ARGV[0])だと引数に0を入れてもエラー処理に行っちゃうので・・
209 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:20:15.35 ] どんな言語でもそうだが、 if ( ここ ) {} に入れるものは、bool型かオブジェクト(参照型)だけ。 数値型や文字型なんかを入れたらいかん。 perlで言えば、オブジェクトでないのなら 必ず、”ここ” で比較しろ。
210 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:21:20.63 ] つまりどういうことなんですか!
211 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:22:16.34 ] defined
212 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:34:32.88 ] if (@ARGV)
213 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:35:43.56 ] if(%HASH) なんでこれやったらおかしい動きするわけ?
214 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:41:20.81 ] >>213 馬鹿には理解できないから諦めろ
215 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:42:44.70 ] え?空のハッシュなんだから 空の配列と同じく偽になるべきでしょう?
216 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:44:09.41 ] >>214 お前には聞いてないから黙っとけやゴミ。
217 名前:デフォルトの名無しさん [2012/01/28(土) 11:46:31.13 ] >214←はい、今日の歩く恥さらし1匹目はいりましたー
218 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:51:05.62 ] 煽ってる>>214 も頭おかしいけど、 ム板で挙動を表現するのに >おかしい動き とか言っちゃう池沼もスルーするべき。
219 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:55:21.57 ] >>216 公開掲示板でそれはおかしい 相手を選択したいならコミュニティやMLで質問するべき
220 名前:デフォルトの名無しさん [2012/01/28(土) 11:57:29.61 ] >>213 おかしい動きwwwwしてるのはお前の頭の中だろwwwwwwwwww
221 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:14:08.64 ] >>213 >>215 perldoc.jp/docs/perl/5.10.0/perldata.pod#Scalar32values > ハッシュをスカラコンテキストで評価した場合、ハッシュが空のときにだけ偽が返されます。 > キー/値のペアが登録されていれば、真を返します。 > (注: 5.12.x までの perl では) tie したハッシュがスカラコンテキストで評価されると、 > (略) 致命的エラーとなります。 my %hash; print '1:', %hash ? 'true' : 'false', "\n"; # false %hash = (); print '2:', %hash ? 'true' : 'false', "\n"; # false # true。undef はキーにも値にもなり得る $hash{ undef() } = undef; print '3:', %hash ? 'true' : 'false', "\n"; # 2。関数である事を明示していないので、文字列 'undef' と解釈されている $hash{ undef } = undef; print '4:', scalar keys %hash, "\n"; # 2。undef を文字列コンテキストで評価すると空文字列なので 3: と重複 $hash{''} = undef; print '5:', scalar keys %hash, "\n"; # 3。空文字列と '0' は別 $hash{'0'} = undef; print '6:', scalar keys %hash, "\n"; # 3。数値の 0 を文字列コンテキストで評価すると '0' $hash{ 1 - 1 } = undef; print '7:', scalar keys %hash, "\n"; print scalar %hash, "\n"; # '2/8' のような文字列 %hash = (); print scalar %hash, "\n"; # '0'
222 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:22:49.29 ] javascriptの比較演算の茨っぷりに比べればまだ……
223 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 14:26:34.59 ] こういう下を見て我慢するタイプのヴァカって成長しないよね
224 名前:デフォルトの名無しさん [2012/01/28(土) 15:07:51.17 ] こういう他人を見下してばかりいる池沼も成長しないよね。
225 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 15:12:08.08 ] 下等動物には、そもそも成長なんて概念はないからな。 死ぬまでこのままだよw
226 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 15:14:19.82 ] 加藤茶生物
227 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 16:18:01.13 ] >>208 >>212 でOK if (@array) は配列の要素数を見てるので、0が入ってれば要素数は1なので、真になる。 配列はスカラーコンテキストで評価されると、その要素数を返す。 ifの条件部分はスカラーコンテキスト。 分かりやすくscalarと明示的に書いてもいい。 if (scalar @array)
228 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 16:19:02.25 ] そういえばfor以外にリストコンテキストって何があったっけ。
229 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 16:30:24.45 ] リストコンテキストとかスカラコンテキストってのは Perの言語仕様の失敗した所の一つだよな。
230 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 16:40:19.75 ] お前って人生失敗した馬鹿の一人だよな
231 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 16:41:58.85 ] うん
232 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 17:33:10.32 ] >>239 習得の障害になる。だが、習得するとそのご利益に感動する。
233 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 17:40:27.80 ] ↑ ×>>239 ○>>229
234 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 18:14:12.32 ] >>232 例えばどんなときに感動した?
235 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 18:16:44.05 ] 君みたいに習得できなかった脳弱に遭遇したときかな。
236 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 18:19:36.21 ] 答えられないなら書くなよw
237 名前:デフォルトの名無しさん [2012/01/28(土) 18:20:37.28 ] >>235 =糞
238 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 18:21:25.24 ] >>236 よう脳弱!
239 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 18:32:34.17 ] >>229 Perってなんだよ パーはてめーの頭だろ
240 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:38:08.27 ] スカラコンテキストとかリストコンテキストは 最初良くわからなかったな。 でも、wantarrayみたとたん一瞬で理解した。 ただの関数の引数の一種にすぎないんだって。 俺にとってはこう見えてる。 foo(123) → foo(FLAG_ARRAY, 123) scalar foo(123) → foo(FLAG_SCALA, 123) foo(flag, value) { if(flag == FLAG_ARRAY) { // wantarray ・・・ } else { ・・・ } } あとは読み出し元のコードの書き方で、 フラグが適当に変わるだけ。
241 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:44:27.65 ] void contextのこと忘れないであげて
242 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:51:39.01 ] PerがPerlでないように、PerlもPerじゃないんだよね 言葉は変化するというけれどこれはただのtypoだよね 意図的かもしれないからその手には乗らないけどね
243 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 22:49:00.42 ] 【中国BBS】2030年に韓国が日本を抜く? 反対意見が多数 中国大手検索サイト百度の掲示板に、「2030年に韓国のGDPは日本を追い越すって本当?」というスレッドが立てられた。 これに対して反対意見が多数寄せられている。 ● スレ主:八戒窘6 アジア開発銀行のデータによれば、2030年に韓国のGDPは日本を追い越すらしい。 ● せんとう どんな予測も多少なりとも正確ではない所があるが、今回の話はあり得なさ過ぎる。 ● satay醤 本当にデタラメだな。アジア開発銀行によるレポートだって?じゃあバンク・オブ・アメリカや欧州の銀行の結論はどうなのよ? ● 佚名野菜地 アジア開発銀行ってのは、韓国人が開いているのか? ● Joseph19969 俺の妄想では、2100年日本人の1人当たりのGDPは46万ドル、韓国は8万だな! ● o落葉不知秋o その頃までに韓国という国が残っているかどうかも分からないぞ。 ● 梨花陰凉 死んでも信じない。 ● MakiのLove なんか最近、韓国のニュースが多くね? news.searchina.ne.jp/disp.cgi?y=2012&d=0128&f=national_0128_091.shtml
244 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:09:08.57 ] 変数XをXのまま計算して答えを出す方法ってあるでしょうか? 例えば、Y=(X-4)^5という式があったとして代入すれば答えを出すのは簡単なんですが、 Y=X^5+A*X^4+B*X^3・・・+E(A-Eは数字が入ります) というような形の式を得たいのです。
245 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:10:42.68 ] >>244 uni.2ch.net/math/
246 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:23:13.06 ] >>244 数式処理でググると色々出てくるんじゃね
247 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:26:19.45 ] >>244 ?、書いてあるのでいいじゃん、と思うのだが、 よくわからないので、自分で書いた動かないコードを貼るのがいい
248 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:53:44.57 ] >>244 www.wolframalpha.com/input/?i=Y%3D (X-4)^5 Perlを始めとした多くのプログラム言語は数を直接計算する為の道具です。 数式を計算するようデザインされたものではありません。 一般的なプログラムで解を得るには: 与えられる数式を数の組で定義し、 YをXの多項式で表現する方法を定義し、 数式を多項式に展開するロジックを定義しなければなりません。 ロジック無しでは簡単な因数分解すら解くことはできません。 上のリンクはかつてMathematicaという名前で販売された高価で複雑で膨大な 数式処理ソフトウェアをウェブサービスに当てはめたようなものです。 "show steps"ボタンを押すと、愚直なプログラム言語が 如何に数式を計算するかを垣間見ることができると思います。
249 名前:デフォルトの名無しさん [2012/01/29(日) 09:30:46.02 ] そんなことも知らないのか
250 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:01:32.23 ] >>244 > 変数XをXのまま計算して答えを出す方法ってあるでしょうか? あります 中等学校で数学という教科でその方法を習います
251 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:46:43.07 ] >>250 コンピュータは中学生以下ということですか?
252 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:49:29.79 ] ああ、>>250 って1行目の日本語がおかしいのか。 最後の文が本当で、式変換したいってこと?
253 名前:252 mailto:sage [2012/01/29(日) 11:50:09.01 ] まちがえた、.>>250 じゃなくて、>>244
254 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:58:30.22 ] でも数式処理とかいうfuckでshitな作業は lisp使えば楽に出来そうな予感はする perlにゃ向いていない気もする ゴリ押しすりゃ出来そうだけど クソの塊みたいなスパゲチーコードになるはずだ
255 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 13:08:30.14 ] ttp://www.ichinoseki.ac.jp/gene/mathnavi/link.html ttp://ja.wikipedia.org/wiki/数式処理システム HPの電卓でもできたような気がする。 今ならiなんとかのアプリに登録されてそう。
256 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 13:33:01.54 ] 数学の問題を読む時点で国語の能力が必要となる罠。
257 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:09:49.24 ] >>251 ヒント:道具は使う人しだい
258 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:42:34.60 ] まあ俺ぐらいの年代だとスパゲッティーは辞書を引かないと分かんない から、これからはナウくパスタスクリプトって言ってもらいたいね。
259 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:00:40.56 ] >>258 子供並みの文章力では 煽りにすらならんわ
260 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:43:16.11 ] 第一ヒント:印刷に関係がある
261 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:05:55.11 ] 第二ヒント:逆ポーランド記法(LISPとは違うのだよ、LISPとは!)
262 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:10:33.87 ] 答え:JavaScript
263 名前:252 mailto:sage [2012/01/29(日) 16:47:40.97 ] ああ、俺がアホだった。 >>242 の日本語は特に間違ってないな。
264 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:00:20.73 ] >>244 が欲しいのは式の展開じゃないの? >>248 が答え(expanded form)をだしてるけれど。 reference.wolfram.com/mathematica/tutorial/TransformingAlgebraicExpressions.html
265 名前:252 mailto:sage [2012/01/29(日) 17:01:36.83 ] うぅ、、すまん、>>244 だ。 途中式が欲しいなんて思ったことないから、わかんないや。 いちおう、CPANでMath関係を探してみてるけど。
266 名前:232 mailto:sage [2012/01/29(日) 18:19:56.11 ] >>234 たとえば、 $str = <$fh>; @str = <$fh>; の両方が成立すること。 プログラムをしていてストレスを感じることは普段と違って余計なことを 意識したり、余計なことを書かねばいけないことなんだ。 普段、人間相手だと細かく言わなくとも通じるように、状況に応じて対応を 変えるというのは人間には自然なんだと思う。だから、状況に暗黙に対応してくれるほうが 明示的じゃないと対応しないほうより楽で、Perlっていいなとおもってしまう。 ただし、これは、CとかVBとかしか知らない経験の少ないアマチュアプログラマの意見だ。 場違いだったかも。
267 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 20:12:55.81 ] >>266 コード見て何をしたいのか全くわからんねw 上の方、ファイルの行数を取得するのか? それとも一行目を取得するのか? そんなのいちいち覚えてないといけないだろ? 今、お前は心の中でどういう機能か説明しただろう? コードってのは読むもの。 普通に読んだら、それが動きを表すほうがいい。 ファイルのgetLineCount ファイルからgetLine ファイルからgetAll ファイルから何をしたいのか、 説明しなくても分かるだろう? 説明が必要なものと、説明が不要なもの。不要な方が良い。
268 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:02:35.91 ] 多分そういう徹頭徹尾膨大な英単語羅列で言語が出来てたら ここまではやんなかったと思う ごくごく単純に何かのテキスト開いて処理するだけの豪華なフィルタが欲しい、 そのためにあるようなモンだから ファイルのオープンとかいう初歩の初歩ののっけからウンザリするほどの長さがあったら、 気楽に使うこたぁーーできない コードの表音的な部分だけじゃあなくて表意的な部分、シジルとか。 もっと言えばコードの意味じゃなくて形のようなものも読んでる 他の言語はやたらと英単語が多くて、最近のperlもその傾向があるけど、 英単語がやたらと多いと説明読むだけでめんどいこともある
269 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:02:41.95 ] BASICのLET「呼ばれた気がしたが気のせいだった」
270 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:34:11.40 ] はいはい、COBOLER、乙。
271 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:34:51.92 ] > $str = <$fh>; > @str = <$fh>; これって演算子オーバーロードと同じようなものだろ? str = fh->$() str = fh->@() とくれば str = $(fh) str = @(fh) こう置き換えられ、 str = $fh str = @fh こうなるのが自然な形 本来はこうあるべきだが、残念なことにPerlはオブジェクト指向じゃなかった。 引数の型で呼び出すメソッドが決められなかったので 代入先の型で呼び出すメソッド側で判断できるようにした。
272 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:48:10.26 ] はいはい、オブジェクトオタ、乙。
273 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:55:31.86 ] できれば、反論が欲しい所w ま、無理か。
274 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:59:39.73 ] 特に反論する内容はない。
275 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:47:45.25 ] >>267 ある程度覚えるのはしょうがない。程度問題。 数式を全部文字列であらわされたらしんどい。 良く使う機能だからこそ、記号化されてる。getLineとか一般的な機能にそんな長い名前は要らない。
276 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:14:40.47 ] javadriveからのコピペ File file = new File("c:\\tmp\\test.txt"); FileReader filereader = new FileReader(file); int ch; while((ch=filereader.read() ) != -1){ System.out.print((char)ch); ch = filereader.read(); } perlでの例 open my $fh , "<", "test.txt" or die $!; while (my $line = <$fh>){ print $line ; } open my $fh , "<", "test.txt" or die $!; while (<$fh>){ print; }
277 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:18:06.49 ] ついでにとほほからも 一行読み込み Java FileReader in = new FileReader("file.txt"); BufferedReader br = new BufferedReader(in); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); in.close();
278 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:26:02.86 ] シングルクォートを使った場合のパス処理がよく分かりません。 my $abc = '$abc'; my $str = '$abc'; my $expr = '$abc'; print $str =~ /$expr/; これが偽になるのはなんでですか?
279 名前:278 mailto:sage [2012/01/29(日) 23:38:27.90 ] あ、分かった。 すみません、おおボケかましてましたわw
280 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:48:44.54 ] >>267 getlineでもgetlinesでも好きに書けばいいじゃーん。 use 5.12.0; use IO::File; open(my $fh, '<', \"foo\nbar\nbaz\nqux") or die $!; while(defined(my $line = $fh->getline)){ print $line; } $fh->close;
281 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 01:17:54.92 ] Perlの元来の用途はテキストの加工なワケで、そのために 文字列の一行入力なんていうあまりにも頻繁に使うであろう操作は いちいち命令なんて使わずに専用の演算子でいいじゃない、となったんだろな
282 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 01:31:42.08 ] だろうね。 でも、アプリ(ウェブアプリ含む)だと テキスト入力ってあまり行わないんだよな。
283 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 10:54:50.13 ] ARGVについて詳細を調べたいのですが、どのドキュメントを引けば良いのかが分かりません perlvarでは無いようですし…どこにあるのでしょうか?
284 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 10:55:51.79 ] ごめんなさいありました…
285 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:15:38.93 ] ここくる前に体系的な本読んだほうがいいぞ
286 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:27:07.96 ] と言われてどこから入手したのかラクダ本(第1版)やらリャマ本(第1版)読んで勉強するのが このスレのいつものパターン
287 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:32:39.37 ] んなもん古本で買えば良いだろ、と思ったが、 アマゾンのマケプレだと現行版は中古で買う気が失せるほど高いんだね。 初版は1円だけど。
288 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:42:34.64 ] ラクダ本は一番新しい第3版が2002年出版、5.6準拠だぞ (英語版は2月に第4版出るけど) 今勉強するとしたらWebに限る
289 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:47:51.17 ] >>288 >今勉強するとしたらWebに限る んで「<>ってなんですか?」とか「ARGVって何ですか」とか「コンテクストって何ですか?」と 匿名掲示板で質問するのか? ふざけんじゃねーよ。
290 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:56:26.47 ] >>289 じゃあラクダ本読んでるやつはそんな質問しないってか?
291 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:59:52.59 ] おこりんぼ
292 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:08:59.00 ] 今から勉強するならPythonとかだろ…
293 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:20:17.95 ] >>292 なんで?
294 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:20:56.23 ] 初めてのPerl 第3版の古本を買うか、図書館で借りればいいよ。
295 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:27:56.15 ] >>293 Perlはバッドノウハウの塊だし
296 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:33:53.49 ] >>295 そうだな。Pythonを使えば全てのバッドノウハウから解放される。 それどころかバッドノウハウに頼らざるを得なくなる場面が根本的に発生しなくなる。
297 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:41:12.14 ] でもPythonでワンライナー書きたくないな〜
298 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:55:15.22 ] u"これはUnicode文字列です" これがバッドノウハウじゃなかったら一体バッドノウハウはなんなんだよwwwwwwwwwwwwwww pythonはクソと汚物とアホの塊だろwwwwwwwwwwwwwwwwww uだよu!!!!!!!!!!!!!! バカアホクズ三拍子そろった BAD NOWHOW だよwwwwwwwwwwwwwwww wwwwwwwwwww wwwwwwwwwwwwwwwwwwww wwwwwwww
299 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 01:04:00.44 ] perl -pe's/w//g'
300 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 04:22:42.35 ] 300ゲト
301 名前:デフォルトの名無しさん [2012/01/31(火) 04:46:57.94 ] それでもゴミPHPよりははるかにマシ
302 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 08:08:45.72 ] 0xFF これは16進数です と何が違うんだい?
303 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 10:46:32.08 ] NOWHOW ここはつっこんでいいところなのだろうか。 しかし恥かかされたと憤ってさらに草生やされたらたまらんからスルーがいいのかな…
304 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 01:51:41.90 ] そのほうがいい。それに今もDOS使ってるから、BATノウハウも必要だしな。
305 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 03:31:27.03 ] またそんな必死に釣りを仕掛けんでも
306 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 03:49:11.39 ] >>303 草に隠れて見逃してたw なんというステルス
307 名前:デフォルトの名無しさん [2012/02/01(水) 05:22:54.38 ] PerlってーとCGIとしての用途しか思い浮かばないけどお前ら何作ってんの?
308 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 06:12:14.08 ] 自分だと、サーバの自動処理とか大体Perlだなー。
309 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 07:14:13.51 ] $str = <STDIN>; と記述しても入力欄が表示されないんですが、どうしたらいいのでしょうか。 何か他に記述することがあるのですか、どなたか教えてくださいませ。
310 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 07:44:01.47 ] どういう環境でperlを起動させているのかわからないと 答えようがないんじゃないかと
311 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 08:07:38.38 ] >>307 俺はむしろCGIで使ったことがないw Unix系なら各種フィルタやシェルスクリプトでサクッとやれることが Windowsのデフォルトの環境だとサクッと出来ない でもコマンド一式入れるのは色々と面倒いから Perlにその辺をやらせてるな ワンライナーだったり、.batに埋め込んだり…
312 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 08:36:29.83 ] > Windowsのデフォルトの環境だとサクッと出来ない JScriptつかえばいいやん。
313 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 09:02:31.35 ] >>312 おめぇはそれでいいや
314 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 11:02:27.54 ] >>312 JScriptg/WSHで一通りのテキスト処理は出来るけど それは果たして「サクッと」と呼べるのだろか
315 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 11:55:56.52 ] 学生の頃は掲示板とか作って遊んでたが 今は禿丸じゃ手に負えないテキスト置換に使っている。
316 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 13:30:50.51 ] Apacheのログ解析ツールとか作ったな 既存のツールだと不満だから作ったが 結局解析結果を見るのに飽きて全く見なくなって、いつの間にかどっかいった
317 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 16:06:03.12 ] Perlを使い始めて20年、今でも日常のちょっとしたツールはこれで作ってる。 面倒な文字列処理があまりにも易々とできてしまうので、やめられん。
318 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 20:22:37.76 ] $HOME/bin/ 以下の俺コマンドの類はほとんどPerlだわ。
319 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:09:02.27 ] CGI、CGIってよく言われてるけど、おれもあんまり作ったことがない。 Perlはテキスト処理や、日ごろのちょっとした処理に使ってる。
320 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:11:17.91 ] >>309 を書き込んだ者です。 環境は、お名前ドットコムというところのレンタルサーバーで、ぽちぽち練習しております。 DELLのノートPC、WinXPを使用しています、エデイタはPadreのデフォルト設定です。 何度試しても<STDIN>が使えないのですが、どうしたらいいのでしょうか。
321 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:13:36.06 ] print STDERR "お名前を入力してください="; $str = <STDIN>;
322 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:14:38.96 ] chomp($str); print STDERR "こんにちは、$str さん。\n";
323 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:19:32.99 ] print "Hello, world\n"; は実行できるの?
324 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:24:12.08 ] エデイタに違和感がする。
325 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:40:41.42 ] >>320 だから一冊本を通読しろっての。何度も同じこと言わせんな。
326 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 00:03:11.64 ] perl のバージョンが書いてないから、インストールされてないことも 考えられるね。きっと Hello, world も無理だよね。
327 名前:デフォルトの名無しさん [2012/02/02(木) 00:05:05.83 ] >>320 =基地害
328 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 00:44:52.33 ] >>325-327 解決策を提示できないなら黙ってろゴミ
329 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 01:12:37.86 ] >>328 なにが「解決策」だよw 池沼はうせろ
330 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 01:22:20.27 ] >>320 CGIに関する質問は板違いです。 >>1 を参照してください。 レンタルサーバー云々の話はそちらでお願いします。
331 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 01:23:43.64 ] 309です。 こんな池沼しかいない底辺スレで質問した私が馬鹿でした。 二度ときません。
332 名前:325 [2012/02/02(木) 01:35:56.94 ] >>328 解決策は提示しただろうがクズ。 >>325 を100回読みなおせ精神異常。
333 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 01:40:41.96 ] ニートの分際で生意気だな
334 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 02:20:50.61 ] 解決策とその理由をきちんと順序立てて提示するとなると ちょっとした本一冊書ける量になる予感
335 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 03:26:58.47 ] Padreを使ってみた。コマンドプロンプトで入力すればいい。 オプションでExternalなんとかをオフってると詰むけど。
336 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 03:46:48.54 ] エスパーすると、PerlIOとhtmlタグを混同しとるんじゃなかろうか。 <STDIN>使えば<form><input type="text"></form>が出力されると勘違いしてる節がある。 どっちも角括弧使うし。
337 名前:デフォルトの名無しさん [2012/02/02(木) 04:32:05.42 ] 嬉しそうにスレ違いな書き込みをしてる社会不適合にエスパーは不要
338 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 06:01:52.06 ] まぁそうカリカリせず。 板違いはその通りなんだけど、どうして勘違いしちゃうのかは興味ある。 分からない方にとっちゃどう聞いていいかも分からんわけで。 自分の納品物がこんな風に動かねーってクレーム入れられた場合どう誘導するのが一番かな。 IO::Interactiveあたり噛ましてエラー吐かせて説明するとか?
339 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 07:00:14.59 ] >>338 雑談スレ 4 toro.2ch.net/test/read.cgi/tech/1302223650/ ネットワークプログラミング雑談 toro.2ch.net/test/read.cgi/tech/1235800707/ 【総合】 Webprog板質問雑談スレッド 1 kohada.2ch.net/test/read.cgi/php/1131016915/ コレカラWebProgオ勉強シヨウトシテル香具師ガ雑談スルスレ kohada.2ch.net/test/read.cgi/php/1049476765/
340 名前:デフォルトの名無しさん [2012/02/02(木) 12:54:16.59 ] 連想配列のkeyの名前は文字数制限や使えない文字はあるんですか? ファイルパスをkeyにしたいんですけど好ましくないんでしょうか? $file_path="./log/bbs_name/test.dat"; $FILE_LOCK_FLG{$file_path}=1;というようにです
341 名前:デフォルトの名無しさん [2012/02/02(木) 13:13:33.29 ] それで何か問題あったの?
342 名前:デフォルトの名無しさん [2012/02/02(木) 13:39:55.23 ] うるさいゴミ
343 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:40:32.30 ] 連想配列のkeyの名前は文字数制限や使えない文字はあるんですか?
344 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:41:51.30 ] >>340 ttp://perldoc.jp/docs/perl/5.10.0/perldata.pod 見る限り「ハッシュキーに使える文字の制限」の記述はなかったので大丈夫だと思われ
345 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:42:38.12 ] そりゃあるだろうよ。 100兆文字使えるわけないだろ。 常識で考えろ池沼。
346 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:44:44.80 ] >>345 そんな頭の悪い発言で先生面するのはやめなさい
347 名前:デフォルトの名無しさん [2012/02/02(木) 13:45:17.95 ] そしてフォルダ名からkeyにマルチバイト文字が混入し、バグに苦しむ低脳(>>340 )であった
348 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:46:38.13 ] なにいってんだこいつ(AAry
349 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:47:18.71 ] 趣味グラマだけどPerlが好きで、今更だけどラクダ本買って今読んでるんだけど 冒頭にラリーの言葉でPerlのコミュニティは素晴らしいって書いてあったんだよね。 それで穏やかな気持ちになってさ、2chのPerlスレはどうなんだろって覗いてみたんだがお前らカリカリしすぎワロタ
350 名前:デフォルトの名無しさん [2012/02/02(木) 13:49:18.63 ] カリカリしてるのは煽りたいだけの糞以下ゴミクズ基地害1匹だけ、マジで消えろよ
351 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:52:23.42 ] >>350 自己紹介乙。 カリカリしてるって笑われてるぞw こんな時間から書き込みしてるとか余程程度の低いニートなんだろうな。 お前生きてる価値あんの?w
352 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:52:51.43 ] >>350 俺にはキミが一番カリカリしてるように見える。 とりあえずもちつけ。
353 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:52:51.74 ] >>349 もうぶっちゃけるけど、Perlに限らずム板マ板にまともなプログラマはいないよ。 みんなブログやTwitterあるいはGithubで情報発信や交流している。 名無しさんにうずもれて満足して、ここにしか居場所がないようになると それだけ新しいプログラミングの習得が遅れる。 このスレで書かれてるコードが10年前基準のレガシーなものだらけなの見ても分かるでしょう?
354 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:55:14.63 ] またレガシー厨か
355 名前:デフォルトの名無しさん [2012/02/02(木) 13:56:55.33 ] そうだな、俺も基本的に情報交換はTwitterだわ。 2chは惰性でチェックしてる。
356 名前:デフォルトの名無しさん [2012/02/02(木) 15:11:21.74 ] >>340 文字数制限は 自分で調べろバーカ
357 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 15:14:20.58 ] >>356 によってこのスレの存在意義は完全否定されました 今までPerl質問スレをご利用頂き、ありがとうございました
358 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 15:16:11.02 ] だから今こうやって調べてるんじゃないですか。
359 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 15:23:10.58 ] 最近レスの流れが早いな
360 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 15:45:46.55 ] >>340 perlgutsでは、キーの長さはU32になってるから、 短くても32bitで表現できるバイト長は保障される(コンパイルされた環境に依存)だと思う。 use Config qw(config_vars); print config_vars('u32size');
361 名前:デフォルトの名無しさん [2012/02/02(木) 17:50:11.77 ] プログラマーって根暗で穏やかじゃない人が多いですね このスレ見て思った
362 名前:デフォルトの名無しさん [2012/02/02(木) 17:57:06.32 ] >>361 ここはいつからお前の感想掲示板になったんだ? ブログにでも書いてろ真性基地害
363 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 17:59:41.62 ] おやおや威勢のいいお兄さんだ
364 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 18:09:31.55 ] >>361 で? 根が明るいだけしかとりえのないプログラムスキル皆無のゴミが何の用?
365 名前:345 mailto:sage [2012/02/02(木) 18:12:56.25 ] >>360 ほらな、だから100兆文字は無理だって言ったんだよ 考えればすぐ分かるだろ
366 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 18:14:29.13 ] >>362 じゃあここは何のスレなのかな? 質問しに来た人に対しちゃんと答えるスキルはあるけどあえて教えずネチネチいじめるスレなのかな?
367 名前:デフォルトの名無しさん [2012/02/02(木) 18:14:51.41 ] >>361 自己紹介は自己紹介板でやれや板違い
368 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 18:20:02.08 ] 自分は根暗でもなく穏やかだと思ってるイケヌマン(>>361 )がいるときいて 韓国の首都上海からテポドンに乗って飛んできました!
369 名前:デフォルトの名無しさん [2012/02/02(木) 18:22:15.52 ] >>361 下手な釣りでも大漁で良かったなw
370 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 18:32:51.50 ] どう見ても自演です 寂しいのかな
371 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 19:10:41.33 ] >>349 ここはPerlのコミュニティじゃなくて2chだから。
372 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 19:13:11.92 ] 荒らすのだけが目的の奴がまぎれてるからなあ。 前はコテハンもどきを使っててあぼーんしやすかったんだけど 最近使わなくなったのか別の奴が流入してきたのか 紛らわしくていかん。
373 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 21:01:26.52 ] >>372 =荒らすだけが目的の奴
374 名前:デフォルトの名無しさん [2012/02/02(木) 21:11:44.51 ] どうせPHP厨かレガシー厨だろ。 PHP厨はPerlが存在する限り日の目を見ることはないからな。
375 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 21:19:30.42 ] キーについて質問してるヴァカがいるけどどうせ何一つ調べずに質問してるんだろうなキモい
376 名前:デフォルトの名無しさん [2012/02/02(木) 21:49:34.23 ] >>361 は自演だったのか 恥ずかしいなおいw
377 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 22:02:22.60 ] activeperlをwindowsで使っています ms-dosの8.3形式の短いファイル名の一覧を取得する方法はありますか
378 名前:デフォルトの名無しさん [2012/02/02(木) 22:07:37.89 ] 全一覧取得→性器表現
379 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 22:26:48.32 ] >>377 Win32::GetShortPathName() search.cpan.org/dist/Win32/Win32.pm
380 名前:379 mailto:sage [2012/02/02(木) 22:29:16.51 ] 補足。 support.microsoft.com/kb/405539/ja
381 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 22:55:05.58 ] >>377 採用されそうにないが D:\hoge\fuga の一覧 my @filename_8_3 = grep {/\S+ +\S+ (\S+) +\S+/, $_ =$1} qx'dir /x D:\hoge\fuga';
382 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 23:08:23.66 ] d ばっちり動きました
383 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 00:54:51.78 ] >>320 レンタルサーバーがDELLのノートPCでWinXPをインストールしてあるんですか? ところでインストールしてあるPerlのバージョンはいくつですか? ちなみに perl -v でバージョンを調べられますよ。
384 名前:デフォルトの名無しさん [2012/02/03(金) 01:06:10.78 ] >>320 文章からしてそのレベルでは無理 お前はもっと低級な言語でもやって標準I/Oなんかを学習するべき
385 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 01:11:34.15 ] あと<STDIN>が使えない段階でPadreを使うのは早いですよ。 本質的でないところではまってしまい、前に進みません。 また分からないことがあったら遠慮なく聞いてください。
386 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 02:47:06.11 ] Padreはゴミ Perlという言語ではゴミしか作れないだろうけど。
387 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 02:51:13.22 ] 使い捨てに向いた言語って、結構な褒め言葉じゃね?
388 名前:デフォルトの名無しさん [2012/02/03(金) 03:03:11.29 ] PHP厨様こんな夜中まで書き込みご苦労様です^^ Perlはゴミしか作れませんが、ゴミすら作れず時間が失われるだけのPHPよりはマシですね^^
389 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 03:06:54.70 ] ほら、嫉妬してる奴が釣れちゃっただろw
390 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 03:15:03.86 ] 猫に小判 豚に真珠 PHP厨にPerl
391 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 03:23:47.79 ] 効いてる効いてる
392 名前:デフォルトの名無しさん [2012/02/03(金) 15:24:03.30 ] ス テ マ の 予 感
393 名前:デフォルトの名無しさん [2012/02/03(金) 21:54:38.24 ] PHP厨にPerl
394 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:24:37.03 ] CAPTCHAの認証を破るモジュールとかないよね・・・ 無理かな
395 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:28:30.15 ] ぼくの考えた最強の PHPeruby
396 名前:デフォルトの名無しさん [2012/02/04(土) 00:36:47.06 ] モジュールとして公開されてたら誰でも破れるだろボンクラ 誰でも破れるものをわざわざ手間かけて実装する低脳がどこにいるんだよパーかおめ
397 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:37:53.32 ] だよな 諦めるっきゃないか
398 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:45:12.94 ] モジュールですべてを行おうとするから出来ないんであって、 文字を判読して打ち込むところを人間にしてもらうように 作ればいんじゃね?ただし人間というのは当然、自分以外のっ てことだけど。エッツな画像とかをえさにすれば、入力して くれるひともいるでしょ。
399 名前:デフォルトの名無しさん [2012/02/04(土) 00:45:28.75 ] お前が高脳で諦めずにそういうモジュールを完成させても 公開すれば間もなくみんなCAPTCHAやめて別の方法とると思うぞw そこまで高い的中率を求めるのでなければ自作もできるんじゃない? 画像認識の話になるからそれ系の話を探せば出てくるかもな。
400 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:48:52.22 ] エロ画像ダウンロード画面でCAPTCHAと入力窓出して、入力されたら裏で認証するとか? 確かにそれだとバレないな。
401 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:07:55.48 ] Perl使いにはハードルの高いものだな
402 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:11:22.73 ] CAPTCHA認証は100%不可能。超むずい
403 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:13:37.43 ] 作るほうはたくさんモジュールあるんだけどなw
404 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:16:32.05 ] JDownloader
405 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 08:15:03.85 ] Perlとは違うがCAPTCHA破りならPWNtchaとかあるにはある caca.zoy.org/wiki/PWNtcha ロシアや中国あたりでは人海戦術でCAPTCHAを破る専門の仕事があるらしいが……
406 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:41:21.75 ] >>399 >公開すれば間もなくみんなCAPTCHAやめて別の方法とると思うぞw それはそのとおりだと思うけど、>>394 の要件に含まれていないからいいよ。
407 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:48:29.60 ] 手動はメンドイな 本当なんつーものを開発してくれたんだよ
408 名前:デフォルトの名無しさん [2012/02/04(土) 10:49:20.61 ] 最近は犬と猫の色んな写真を8枚くらい表示して 犬の画像を全部選択しろとかもあるな CAPTHAの次はこれが標準になるだろう 俺の予想ではその次は全部同じ生き物の写真になると思う 例えば全部人間で、商談してる写真やら野球してる写真やら絵を描いてる写真が10枚程表示されて 「スポーツをしてる画像を全部選べ」みたいな さらにその次は馬鹿撃退用に知識を問う画像が表示されるだろうな アンコールワットやマチュピチュなんかの写真が12枚程表示されて 「世界遺産を全部選べ」みたいな 画像からググるのはほぼ不可能に近いから一般常識のない馬鹿は撃退される それを突破しようと思ったら人工知能レベルのモジュールが必要 今から作っとけ
409 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:49:27.86 ] たった100兆文字くらい、京なら余裕でしょ。 ちょっと昼休みに試してみるわ。
410 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:50:26.60 ] >>408 ぐあああ 不可能だ
411 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:51:09.72 ] 日本語とかもあるし大変だろ
412 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:52:18.31 ] そこはほら、jperlだょ
413 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:56:38.26 ] >>398 の方法がすでに>>408 をすでに解決している件
414 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 10:58:06.65 ] s/すでに//
415 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 11:07:35.20 ] CAPTHAの件、 文字を扱えるのは人間だけだってことか utf8フラグが文字を扱えるわけじゃないってことか。。。
416 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 11:27:22.19 ] >>415 何を言ってるのかさっぱりわからん。 データを見た時、データだけでそれが文字かどうかは人間しか分からないから データとは別に、utf8フラグを明示的につけてやることで コンピュータが文字と認識できるようになるってことだろ
417 名前:デフォルトの名無しさん [2012/02/04(土) 11:37:30.63 ] >>415-416 どっちも意味わかんねーよ
418 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 11:43:31.42 ] 今日は土曜日!二日市に行こうかな。 でもな、特に目ぼしいものナさそう。 ノートパソコン欲しい。mac book airよさそうと思ったけど、最低8万するんだね。 たかい。
419 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 11:47:43.01 ] >>417 ようするにファイルのことだよ。 ファイル中身を見ただけじゃ、それが文字ファイル (テキストファイル)なのかバイナリファイルなのか分からない。 もちろん、入っているデータや拡張子から推測はできるが 100%正しい訳じゃない。 それは変数に入っている値も同じで、 コンピュータ(Perl)は中に入っているのが文字なのかバイナリなのか分からない その二つを区別できなければ、”文字”数の情報が必要な処理や 1文字づつ処理するような関数が作れない。 よくあるのが、マルチバイト文字を渡したら、1文字の左半分だけ残って 右半分が落ちてデータが壊れるとかね。 だから、UTF8フラグというものが必要で、それをつけることでPerlは 文字として判断できるようになる。 まあ、これがモダンな(といっても何年も前から)のPerlの文字列の扱い方。
420 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 14:26:37.57 ] >>398 CAPCHA認証を行っている多くのサイトは、まさに今それをやってるんだよ。 Googleから判読不能な文面を受け取って、自身のCAPCHAシステムに組み込み、 入力の集積結果をGoogleに渡してお金を貰うという仕事だ。
421 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 14:42:49.67 ] CAPCHAは無理だろ 記号着地問題とかフレーム問題とかクリアせにゃ 超精度のOCRのようなモンができても、 文字じゃなくぬこ写真が出てくれば、それまでだ 画像を記号に変換するつよーいAIが登場しないと、 CAPCHA突破はムリムリだぁ
422 名前:デフォルトの名無しさん [2012/02/04(土) 15:16:05.36 ] 愛くるしいぬこ写真がこれ程凶悪な障壁になろうとは誰が予想しただろうか
423 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 16:01:40.04 ] ファイルテスト演算子の-dでディレクトリかどうかを判断すると ディレクトリが多数あるのに「.」「..」しかヒットしないんですが、なにが原因ですか?
424 名前:デフォルトの名無しさん [2012/02/04(土) 16:06:17.48 ] □判定前のファイルとフォルダ混在した一覧にはフォルダはあるのか □対象ディレクトリのパスは間違っていないか(特に相対パスの場合)
425 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 16:17:13.41 ] どんな言語であろうとCAPCHAは無理なんだな そりゃCAPCHAが大流行するわけだ
426 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 16:18:02.35 ] -d 使っているまさにそのコードで cwd してみそ
427 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 16:25:57.57 ] ぼくが考えた最強の KATO-CHA
428 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 16:31:44.21 ] ちゃっとだけよ(はあと)
429 名前:423 mailto:sage [2012/02/04(土) 16:41:35.10 ] >>424 レスありがとうございます ・フォルダはあります。 ・対象ディレクトリのパスは間違ってないです。コード中の while (my $file = readdir $dh) { if (-d $file) { print $file; } となってるところを while (my $file = readdir $dh) { print $file; にしてみたらちゃんと目的のディレクトリを含むファイルの羅列がprintされました。 なぜファイルテスト-dが成功しないんでしょうか?
430 名前:423 mailto:sage [2012/02/04(土) 16:44:42.38 ] >>426 レスありがとうございます。 use Cwd qw(getcwd); $ret = getcwd(); print $ret; したら、このコードが置いてあるディレクトリ名が表示されました。 ディレクトリハンドルに指定したディレクトリとは違います。
431 名前:デフォルトの名無しさん [2012/02/04(土) 16:50:22.36 ] if (-d $file) を $filepath = "検索対象のディレクトリ/" . $file; if (-d $filepath) に変更するとか?
432 名前:423 mailto:sage [2012/02/04(土) 16:53:17.98 ] レスありがとうございます。 $fileに入ってるディレクトリ名はすでにフルパスなんです。 もしかしてWindowsだとファイルテストが機能しないとかあるんでしょうか?
433 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 16:54:46.49 ] utf8フラグは自分で立つわけじゃないから、CATCHAを破ってくれないってことでおk?
434 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 16:56:32.96 ] use utf8; 使ってる場合は、このスレの専門家が長文で丁寧に教えてくれる。 それまで待て。
435 名前:423 mailto:sage [2012/02/04(土) 16:56:47.06 ] >>431 すみません。読み込む直前でフルパスじゃありませんでした。勘違いしてました。 言われたとおり改めて変更してみたらうまくいきました。 ありがとうございました!
436 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 17:10:42.40 ] どういたしまして
437 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:12:09.11 ] >>420 エッチな画像見てそのうえGoogleから給料貰えるなんて最高じゃないか
438 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 06:26:00.76 ] ぐああああ CAPCHA対策された 手でシコシコ面倒くさいな・・
439 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 09:33:17.78 ] 迷惑スクリプト乙
440 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 12:39:58.42 ] codepad.org/Aphu8pWv 600851475143 の素因数のうち最大のものを求めよ。 という問題をエラトステネスの篩を使って解こうとしたんですが上手くいきません。 どこがいけないんでしょうか。
441 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 12:42:17.83 ] まずそのクソスクリプトの先頭に use strict; use warnings; と書き込めアホ
442 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 12:45:21.05 ] 書きました codepad.org/KDtxx11F
443 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 12:56:51.44 ] お次はそのゴミカスみたいな変数をmyで宣言しろ my $n = Math::BigInt->new("2"); こういう風にやれ
444 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 12:58:37.39 ] codepad.org/mcEJ1yKG エラーを直すように書き換えました
445 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 13:02:49.98 ] 反応はええんだよクズ 俺の都合も考えろ
446 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 13:19:42.79 ] ……俺の勘違いでなきゃ、相手の鯖に 775145**3≒465.7ペタ個もの配列を要求するんじゃね?これ……
447 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 13:29:34.23 ] ああいやいいのか、すまん
448 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 13:35:46.70 ] >>447 許す
449 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 14:33:26.17 ] ……とりあえず最大限意向を尊重するとこんなコードになるのか? ただしこれでもTimeOutになりかねない(71を見つけるまでが長い) use strict; use warnings; use bigint; my $target = Math::BigInt->new("600851475143"); my $target_backup = $target; my $max = int(sqrt $target); my @era = ("0") x $max; my $n = 2; my @q = (); #素因数 for($n; $n <= $max; $n++){ next if $era[$n]; #素数ではなかった for($b = $n; $b * $n < $max; $b++){ next if $era[$b]; #素数ではなかった $era[$n * $b] = 1; #篩をあてる } if($target % $n != 0){ #素因数ではなかった next; }else{ #素因数を見つけた $target /= $n; push @q, $n; $max = sqrt($target); #これくらいやっとかないと重くてかなわん redo; } } push @q, $target; print join '', "\n$target_backup = ", (join ' * ', @q), "\n";
450 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 14:53:59.82 ] >>444 ウンコ垂れ流しをuseなんとかとmyで止めることがノービス脱却だ あとは行数とかの巨大なウンコをせき止めれば中級者へのクソ長い道が開ける 変数は3つ程度にしとけ ttp://codepad.org/SzTEWYQR
451 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 14:56:15.34 ] print`factor 600851475143`=~/\d+$/g
452 名前:423 mailto:sage [2012/02/05(日) 16:13:57.80 ] 口は悪いがここのやつらはやたら親切だな
453 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 16:39:20.70 ] >>452 ろくにスキルもないのに先生ぶりたい連中なんだよ お察しください
454 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 17:38:51.00 ] >>452 やつらじゃなくて、一人だけね、そういう変なのが今常駐してるのは。
455 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 17:45:05.62 ] きったねぇ糞コードだなおい
456 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 18:17:49.66 ] 篩を作るのをサボったら1秒くらいで答えが出た。 codepad.org/fCR3NCvy
457 名前:456 mailto:sage [2012/02/05(日) 18:28:48.16 ] なんかいろんな数値でやったら変な結果がいっぱい出たw バグ取りせずに逃げよう...
458 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 19:18:38.32 ] my $max = 600851475143; my @n = (2..int(sqrt($max))); my @p; do { push @p, shift @n; @n = grep {$_ % $p[-1] != 0} @n; } while ($p[-1] ** 2 < $n[-1]); push @p, @n; foreach (reverse(@p)) { if ($max % $_ == 0) { print; last; } }
459 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 20:18:50.31 ] 結構重かった。 codepad.org/eMe8JqZ5
460 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 20:19:19.15 ] my $max = 600851475143; my @n = (2..int(sqrt($max))); while ($n[0] ** 2 < $n[-1]) { # あったほうがちょっとは早い? #if ($max % $n[0] == 0) { # @n = grep {$_ < $n[-1] / sqrt($n[0])} @n; #} @n = grep {$_ % $n[0] != 0} @n; } printf "%d\n", (grep {$max % $_ == 0} @n)[-1];
461 名前:デフォルトの名無しさん [2012/02/05(日) 22:26:39.88 ] パールってスレッド作れないの? 一つのコードのファイルでマルチスレッドできないの?
462 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 22:40:59.65 ] スレッドは作れるが、ライブラリがスレッドセーフとは限らない。 野良ライブラリが多く、その野良ライブラリに スレッドセーフかどうか書いてあることは稀で 次第に嫌になってくるであろう
463 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 22:46:19.83 ] このスレで我慢しろ
464 名前:デフォルトの名無しさん [2012/02/06(月) 06:45:58.34 ] >>454 自己紹介乙
465 名前:デフォルトの名無しさん [2012/02/06(月) 08:48:27.47 ] PHP最強
466 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 12:37:51.41 ] ○○○最強≠○○○だけ覚えれば十分、他は記憶領域の無駄だから一切覚えるな
467 名前:デフォルトの名無しさん [2012/02/06(月) 14:22:39.79 ] もしプログラム言語を1つしか覚えられないとしたらPHPしかないじゃん これには異論ないと思う というか異常者以外は分かるはず 実際はいくつも覚えられるからPHPを中心に他の言語もかじってみるけど 他の言語は全部ゴミみたいなものだから結局PHPがいかに優れているかを再確認するだけになるんだよね
468 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 14:25:41.09 ] PerlもPHPもジャングル言語だ
469 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 14:30:50.79 ] 【ジャングル】 弱肉強食 密林 錯綜、複雑 物騒な場所 非情な生存競争の場 浮浪者の集まる所
470 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 16:03:15.04 ] my $buf = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaa'; test($buf); sub test{ #1 #my $hoge = shift; #return length($hoge)/2; #2 #return $_[0]/2; } 引数渡すときに、コピーが作られるのは代入したタイミングですか? #2の場合は$bufの中身分のメモリは確保されないということでいいんでしょうか?
471 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 16:04:23.86 ] #2 #return length($_[0])/2; でした。 この辺はどうでもいいですが。
472 名前:デフォルトの名無しさん [2012/02/06(月) 18:37:30.70 ] お前の存在もどうでもいい
473 名前:デフォルトの名無しさん [2012/02/06(月) 22:32:18.10 ] perlでwhileの二重ループがうまくいかないのですが何が原因でしょうか? うろ覚えですがおよそ下記のようなものです。 while($a=<IN1>){ seek(IN2, 0, 0) while($b=<IN2>) { if($a=~$b) { 出力する } } } $aの一行目はちゃんと期待どおりに$bが出力されるんですが $aの二行目から$bが出てこないんです。 ファイルポインタの位置を戻さないとダメかと思ってseek入れたんですがダメでした。 ファイルには両方にそれぞれ対応する文字列が入ってます。
474 名前:デフォルトの名無しさん [2012/02/06(月) 22:36:33.86 ] 馬鹿には無理
475 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:42:57.79 ] >>474 自己紹介乙www
476 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:49:11.85 ] seekよりもopenのほうが分かりやすいでしょ。 それよりもI/Oを最低限の回数にするために、 my @a = <IN1>; my @b = <IN2>; 以下、宿題。 のほうがいいと思うけどね。
477 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 23:14:21.76 ] >>470 perldoc.jp/docs/perl/5.10.0/perlsub.pod#DESCRIPTION > 配列 @_ は local 配列ですが、その要素は実際の スカラパラメータの別名です。 Devel::Peekで確認しれ。
478 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 23:41:53.95 ] 「PHP 5.3.9」に危険度の高い脆弱性、最新版へのアップデートを (Impress Watch) - Yahoo!ニュース vv1.jp/oqv さすがPHPさんやで・・・
479 名前:デフォルトの名無しさん [2012/02/06(月) 23:55:39.20 ] >脆弱性を悪用された場合、遠隔の第三者によって任意のコードを実行される危険性がある。 任意のコードを実行されるんだってよwww PHPかっけー!www
480 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 00:46:28.73 ] >>478-479 こちらへどうぞ。 Perl VS PHP kohada.2ch.net/test/read.cgi/php/982591467/
481 名前:デフォルトの名無しさん [2012/02/07(火) 23:15:39.41 ] >>476 それで読み込んだ場合要素には各行が入ったんですが基本的に行毎に入ると思っていいでしょうか? 処理系によっては空白区切りの単語毎とかいうことはあるでしょうか?
482 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 23:19:25.10 ] $/ の値次第 perlvar嫁
483 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 01:32:28.78 ] $num = 3; open(DATA, ">:encoding(cp932)", "./test$num.txt") || die "ファイルが開けません: $!"; これを実行しtext.txtが開けなかった場合、 「ファイルが開けません: ページ No such file or directory at test.pl line 10.」 と表示されますが、この時にファイル名を表示することは出来ないでしょうか? 今はこの様にしているのですが、毎回こうするのは不恰好で、 もしファイルが開けなかった場合にどのファイルにアクセスしようとしたのか分からないものかと思いました。 $num = 3; $filename = "./test$num.txt"; open(DATA, ">:encoding(cp932)", $filename) || die "ファイルが開けません: $filename\n$!";
484 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 02:22:10.81 ] >>483 "ファイル"を表示したい変数に置き換えれば?
485 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 04:34:20.56 ] お手軽な感じのサブルーチンか、ユーティリティクラスでも作ればいいんじゃないか。
486 名前:デフォルトの名無しさん [2012/02/08(水) 05:46:47.65 ] うるさいゴミ
487 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 07:39:37.13 ] >>483 べつにそのままで構わないと思う。
488 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 08:18:23.62 ] 377です さらに、フルパスを8.3形式で取得する必要が生じました getcwdでカレントを取得して、各階層をGetShortPathNameしていく、 という方法は思い付いたのですが、もっと一発で済むような方法はありませんか
489 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 08:41:16.59 ] あ、なんかフルパスをGetShortPathNameするだけでいけそうでした
490 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:24:10.86 ] ラクダ本3版 88ページ リストを取り扱っている段なのですが # 「逆コンマ演算子」 return (pop(@foo) ,pop(@foo))[0]; とあります。この記述がどういう作用を持つのかは分かるのですが(配列から後ろ2つの要素を削除し、末尾だったものを返す) コメントの意味が解せません:逆コンマ演算子とはどういう意味なのでしょうか?
491 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:35:00.61 ] 分かりました。コンマ演算子で項を繋げていった場合、スカラーリテラルで評価されるとリスト末尾の要素が返る。 それに対して>>490 はリスト先頭の要素が返る。コンマ演算子とは逆の作用と捉えることが出来る。 なので>>490 の記述全体の事を逆コンマ演算子と呼んだということですね。
492 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:41:56.60 ] うむ。そういうことだ。
493 名前:デフォルトの名無しさん [2012/02/09(木) 22:41:48.75 ] Perl on Heroku | Hacker News news.ycombinator.com/item?id=3570894 judofyr/perloku - GitHub https://github.com/judofyr/perloku
494 名前:デフォルトの名無しさん [2012/02/10(金) 01:41:12.46 ] ファイルを1行ずつ読んで処理してます。ループ内でさらに1行だけ先読みしたい場合はどうすればいいですか? while (<>) { my $line = $_; ... if ($line =~ /xxx/) { #ここでさらに次の行を読んで一緒に処理したい } } よろしくお願いします
495 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 01:45:26.12 ] 一行先読みじゃなくて一行遅延すりゃあいいだろ お前はアホか
496 名前:デフォルトの名無しさん [2012/02/10(金) 03:31:52.51 ] すんまへん。一行遅延ですか。 自分は結局配列に入れました。
497 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 04:01:15.08 ] 配列でいいとおもう それで問題が発生したら別の方法がないか 質問すればいい
498 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 05:20:20.81 ] >>494 perldoc.jp/docs/perl/5.10.1/perlfaq5.pod > perl -e "print join qq/\n/, qw(abc def ghi jkl mno pqr stu vwx yz)" > foo.txt > perl following.script foo.txt #!/usr/bin/perl -w use strict; while (<>) { chomp; print "$.:", my $line = $_; if ($line =~ /[ekw]/) { # Win の場合は <> と chomp で削られる byte size が 2 my $lf = chomp(my $next_line = <>) ? 2 : 0; print " (next: $next_line)"; # $next_line を本当に「先読み」扱いにしたいのなら seek ARGV, - length($next_line) - $lf, 1; --$.; } print "\n"; } use Tie::File; # perldoc.perl.org/Tie/File.html tie my @line, 'Tie::File', './foo.txt' or die $!; for my $i (0..$#line) { print $line[$i] = ($i + 1) . ":$line[$i]"; # 実際にファイルへ行番号を追記 if ($line[$i] =~ /[ekw]/) { print " (next: $line[$i + 1])"; } print "\n"; } untie @line;
499 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 05:44:10.05 ] file1, file10, file2 という感じの文字列があって、 これを数値順にソートするにはどうすればいいですか 要は、エクスプローラのファイル名の並びです
500 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 06:12:31.75 ] >>499 Sort::Key::Natural とか Sort::Naturally とかを使うのが簡単。 手で作っても大したことないけど。 なんか Python スレにも同じ質問があがってたね。
501 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 07:30:18.34 ] >>499 perldoc.jp/docs/perl/5.10.1/perlfaq4.pod#How32do32I32sort32an32array32by32anything41
502 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 07:39:01.77 ] >>500 両方使ってみましたが、思ったものと違うようです 数字の前の文字列が共通の要素同士ではちゃんと数字順に並んでいるのですが、 文字列部分での順序がランダムに見えます ランダムという訳ではなくて何か規則はあるのだろうけど、多分賢すぎです 日本語を扱わせていることに原因があるのかもしれません >>501 見るべき場所が判りません
503 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:47:25.63 ] 例えば、natkeysortでは え00 う01 い02 あ03 a03 b02 c01 d00 こんな感じの並びになります
504 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:29:16.03 ] >>503 日本語いれるなよ。しきいがたかくなるやん
505 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:29:43.29 ] use Encode; とか…心細い
506 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:29:57.25 ] >>504 decodeすればまだなんとか
507 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:31:12.32 ] >>502 ああ、NaturalSort が内部で use locale しているので、 日本語がおかしなことになってるようですね。 数字部分がそれっぽく並ぶだけでいいのなら、 とりあえず、こんなのでいいのでは。 sub makekey($) { my $s = shift; $s =~ s/\d+/sprintf '%09d', $&/ge; lc $s; } sub naturalsort(@) { return map {$_->[0]} sort {$a->[1] cmp $b->[1]} map {[$_,makekey($_)]} @_; }
508 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:11:20.37 ] >>502 ちょっと見てみたけど、内部で use locale しているのは Sort::Naturally だけだった。 Sort::Key::Natural のほうは日本語でもそのまま動くみたい。 Sort::Naturally を use せずに Sort::Key::Natural だけで 試してみてはどうでしょうか。
509 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:18:24.74 ] use Sort::Key::Natural; @a = ('a03', 'b02', 'c01', 'd00', 'あ03', 'い02', 'う01', 'え00'); @b = natsort @a; print "@b"; の結果が>>503 になるようです
510 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:21:56.27 ] use strict; # >>499 >>503 my @file_list = ('file1', 'file10', 'file2', 'e00', 'u01', 'i02', 'a03', 'b02', 'c01', 'd00'); my $i = 0; my $longfilename_size = 255; my @temporary_list = (); my ($file_name, $k, $m, $used_as_number); for $file_name (@file_list) { $m = $longfilename_size; $k = index($file_name, '0'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '1'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '2'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '3'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '4'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '5'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '6'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '7'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '8'); if($k >= 0) { if($k < $m) { $m = $k; } } $k = index($file_name, '9'); if($k >= 0) { if($k < $m) { $m = $k; } } if($m == $longfilename_size) { # no number $temporary_list[$i++] = join '', '<', $file_name; } else { $used_as_number = substr($file_name, $m); $temporary_list[$i++] = join '', substr($file_name, 0, $m), sprintf('%03d', $used_as_number), '<', $file_name; } } for $file_name (sort @temporary_list) { $k = index($file_name, '<'); print substr($file_name, ++$k), "\n"; }
511 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:31:20.49 ] おおー 解読できてませんが、ちゃんと動いているようです sort {$array[$a] cmp $array[$b]} (0 .. $#array) みたいな使い方がしたいので、sortから呼び出す関数の形になってると有り難いです
512 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 10:40:49.93 ] >>509 ちゃんと use utf8 すれば動くよ。
513 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 11:32:07.44 ] そう思って、encode('utf-8', ) とかはやったんだけど、 その場合の結果は>>503 と同じで use utf8 とは挙動が異なるようです use utf8はちょっと避けたい理由があるので、 なんとかuse Encodeの範囲内で解決できませんか
514 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 11:35:41.16 ] >>502 > 見るべき場所が判りません 「(なにか)」が今回はファイル名の数字部分で、そのまま解き方の解説なんだけど。 my @file_list = qw( い2 file1 い00 file10 あ10 file02 い02 あ5 い1 file2 5 007 1 a1b10 a1b01 a1b1 ); @file_list = (map("$_.b", @file_list), map("$_.a", @file_list)); print( map "$_->[0]\n", sort { $a->[1] cmp $b->[1] || $a->[2] <=> $b->[2] || $a->[3] cmp $b->[3] } map [ $_, /^(.*?)([0-9]+)(\..+)\z/ ], @file_list );
515 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 14:21:17.78 ] >>494 # 単純にもう1行追加したい while(defined (my $line = <>)){ ... if ($line =~ /xxx/){ # 単純に1行追加 my $new_line = <>; ... } } # 追加行に通常処理も加えたいような場合 my $state = 'start'; while(defined(my $line = <>)){ if ($state eq 'xxx'){ # 1行追加処理(後で通常処理も加える) ... $state = 'start'; # fall thru. } if ($state eq 'start'){ ... $state = 'xxx' if ($line =~ /xxx/); next; } }
516 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 14:34:29.39 ] >>513 そもそも、もとの文字列が utf-8 じゃないのでは? もし上の例で cp932 が生ではいっているのなら、 @tmp = map {decode('cp932',$_)} @a; @b = map {encode('cp932',$_) } natsort @tmp; でいけるはず。
517 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:07:17.86 ] use utf8して、スクリプト中に埋め込んだ文字列をソートするとうまくいくけど、 外部からsjisのファイルを読み込んでutf8に変換してソートしようとしても、 どうもうまくいきません
518 名前:デフォルトの名無しさん [2012/02/10(金) 18:21:37.79 ] >>517 お前のコードがゴミなんだろ ここで自分のコードはゴミですアピールして楽しい? まじ池沼だな
519 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:33:30.61 ] >>517 ちゃんと、decode('shiftjis', $_) でインポートしてソートしてる? >>518 更年期障害ですか、あんた
520 名前:デフォルトの名無しさん [2012/02/10(金) 18:40:07.15 ] >>517 ここはPerlの質問スレであってお前の糞コードのどこが悪いかを質問スレじゃねぇんだよ
521 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:44:56.39 ] 自前でエンコードするのは諦めて、 >>4 のテンプレを全面採用すると、あっさり動きました うーむ、従うしかないのか、、、 その方がソースも遥かに綺麗ではあるんだけど、、、 sub s2u { my $str = shift; return encode('utf-8', decode('cp932', $str)); } ↑こんなのを書いて渡しても、挙動がおかしい これの逆パターンの関数を書いて、uff-8ソースに埋め込みの文字列を表示させようとしても 化けたり、Wide character云々とか言われる これでうまく行くケースも結構あるんだけど、utf-8にもいろいろあるみたいで、 その違いが乗り越えられない
522 名前:デフォルトの名無しさん [2012/02/10(金) 19:04:07.43 ] >>520 うるさいゴミ
523 名前:デフォルトの名無しさん [2012/02/10(金) 19:11:36.80 ] 自分でも叩けそうなレベルの話題になると急に元気になるのなw
524 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:21:08.17 ] >>521 open (my $FH, '<', "./test.sjis"); my @test; while (<$FH>) { chomp; push @test, decode('shiftjis', $_); } close $FH; for my $v (@test) { print encode_utf8($v). "\n"; } これで警告なくうまく出力されるけど?
525 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:21:33.05 ] >>511 sort {($a0 = $a) =~ s/(\d+)/1000 + $1/ge, ($b0 = $b) =~ s/(\d+)/1000 + $1/ge, $a0 cmp $b0} @file_list; 関数の形 sort renamed @file_list; sub renamed { (my $a0 = $a) =~ s/(\d+)/1000 + $1/ge; (my $b0 = $b) =~ s/(\d+)/1000 + $1/ge; $a0 cmp $b0; }
526 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:27:00.22 ] >>524 今こっちでも同じ答えを見つけたのにー encodeしちゃいけなかったのね decodeして中間コードみたいな状態で渡して、 受け取ったらdecodeせずにencodeだけすればいいのか なんか気持ち悪いけど >>525 おお、シンプル 試してみます
527 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:31:11.70 ] >>526 encodeとdecodeを根本で勘違いしてる。 decodeは、外部から文字列をPerlスクリプト内へインポートするための関数。 外部から取り入れた文字列はバイナリ認識だからPerlで文字列として扱えるようにする。 encodeは、Perlスクリプト内から外部へ文字列をエクスポートする関数 Perl内で文字列は特殊な方法で管理されてるから、その管理を外して外部でも使えるようにする。 インポートして、処理して、エクスポートする。
528 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:56:00.26 ] まあ、そうなんだけどね 何で今まで困らなかったんだろう そもそも、'utf8'という指定がencodeやdecodeで使えるのはどういうことなんだ
529 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 21:08:52.36 ] >>528 decode,encodeは「他のコード⇔UTF-8」じゃなくて「他のコード⇔Perl内部コード」だよ 「utf8フラグ」ってのはいい加減誤解の元だよね
530 名前:デフォルトの名無しさん [2012/02/10(金) 21:42:14.63 ] 見事に馬鹿しかいない
531 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 21:57:24.00 ] >>530 学校でろくな先生に出会わなかったんだろうな…
532 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 21:58:28.66 ] だからUTF8フラグが混乱の元。 Perl文字列フラグだったらよかった。
533 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 23:58:48.17 ] 名前変えても挙動は一緒だろ、何が問題なのか全然分かってないなw
534 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 00:10:03.08 ] danが問題なんじゃなかったのか?違ったか?失礼。
535 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 00:26:15.06 ] 大規模な文字集合になると、文字なのか文字でないのかの境界が 単純に0/1で分けられないからなぁ そういうのは今のところUTF8フラグでは扱えない それに文字か文字でないのかは多分に気分的なものがあるので、 そうなると本質的に機械では扱えない
536 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 00:46:48.41 ] >>535 お前馬鹿だろ? 頓珍漢なこと言ってるぞ。
537 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 08:36:37.59 ] , -‐‐‐‐‐- 、 /r。−、r。−、ヽ _.j .l_,...、_l l_,...、_l r‐、 l l‐r‐‐r―r―(,)‐ァ_.ノ 、ゝ  ̄  ̄ ノ. ノ <いきなり尻見せ ゝ、`‐――‐‐_',イ ヽ ( ̄て""´ ヽ \ \ .) 、 ~ヽ ヽ_人 l ,l / __/_ノ l -‐ ̄ ヽ \ ヽ
538 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 11:25:25.34 ] 内部コードを隠してしまいたいのか、 世界全部が内部コードと同じになって欲しいのか、 方向がはっきりしない
539 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:34:05.24 ] 世界全部が内部コードと同じになることはありえない。 答えは出てる。
540 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:41:38.24 ] 今でも普通にsjisのデータが増え続けてるし、過去のデータはきっと永久にsjisだし
541 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 13:18:58.45 ] だけど、いちいちプログラマがこのファイルの文字コードは何だろう?と 考え続けていたら、大変なことになる。 だからせめてプログラム言語の中では統一しよう。 そうやってできたのがPerl標準のEncodeモジュール。
542 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 14:30:53.29 ] 漢字に代表される大規模な文字集合の場合、一文字一文字が 英語でいうところの単語の性質を帯びてくる。 ここで、任意の英字の並びに対して、単語であれば1、単語 でなければ0、という「単語フラグ」というものを導入する ことを考えてみる。 Perlで単語を処理する場合は必ず単語フラグを1にしなければ ならない。 その試みは果たして成功するだろうか?
543 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:45:06.22 ] 単語か単語ではないかを考えるのは無価値なので、考えない ことにして、英字の並びをそのまま扱うようにするのがいい。 (ここまでの答えを自分で出せたひとだけ次に進みます。)
544 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:02:26.05 ] 結論 単語フラグは意味が無いのだから 世の中のフラグはすべて意味が無いものなのです。
545 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:02:49.38 ] >>544 それは詭弁だ。
546 名前:デフォルトの名無しさん [2012/02/11(土) 19:14:26.21 ] >>544 お前変な新興宗教入ってるだろ
547 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:44:45.99 ] 少数の人だけしか理解できない呪文の不可解な連なりであり、 ヤギの血を含み、あなたの魂を永遠に堕落させる。 上司があなたに金曜夜21時に緊急の仕事を命ずるときにしばしば使われる。
548 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:02:03.11 ] 時間を分単位とかで切り上げしたいのですが どうやったらいいのでしょうか
549 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:03:35.82 ] 小学生のさんすうレヴェルだろ プログラミング以前の問題だ
550 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:12:32.51 ] 20:11:15 を 20:12:00 に切り上げたいのか? まさか、お前。。。釣りじゃないよな?
551 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:15:23.95 ] >>544 君は、utf8フラグまで戻って出直してください。
552 名前:デフォルトの名無しさん [2012/02/11(土) 21:24:59.13 ] >>548 失せろゴミ ここはPerlの質問スレであって 幼稚園児並の知能しかない低能に手取り足取り教える場所じゃねぇんだよ
553 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:31:39.83 ] w
554 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:37:48.24 ] >分単位とか 「とか」って言ってる辺りで察してやれよ、頭が遅れてるんだろ。
555 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:40:18.52 ] >>548 my $time = time; $time = $time - ($time % 60) + 60; お前ら、更年期障害ですか。
556 名前:デフォルトの名無しさん [2012/02/11(土) 21:43:40.50 ] >>548 =ゴミクズ
557 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:44:48.79 ] >>555 更年期障害はオマエだよ その時間とやらの書式なにも考えてねーだrks
558 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:47:50.11 ] >>557 秒数から加工する知恵がでないお前が頭悪いだろ。
559 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:53:48.33 ] >>558 どこにも秒数なんて書いてねーだろ お前には別世界でも見えてんのかアホ
560 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:55:28.93 ] >>559 お前プログラムした事あるの? あそこから希望の書式に加工できないの? 答えれないのなら質問以外でレスするなクズ
561 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:56:54.21 ] >>555 元々00秒の値でやってみなw
562 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:58:35.86 ] >>560 だからお前はどこの異次元のぞいてんだ 希望の書式 とか何かカッコイイ単語並べて悦にドハマりしてんじゃーよwww そのクソ書式がどこにあんだよ
563 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:01:02.38 ] >>561 my $s = (time % 60); my $time = time - $s + (($s > 0) ? 60 : 0); これでよろしいか? 例出して答えろよ。 >>562 お前は黙ってろ
564 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:04:19.02 ] >>563 > 例出して答えろよ。 恥かいたからって八つ当たりかえ?
565 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:08:06.12 ] >>564 何言ってんだ? 「こうだろうがハゲ」とでもいいながら 正しい式書けって言ってんだ。 質問スレで質問でも回答でもない糞レスを増やすな
566 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:10:50.26 ] >>565 分からない時には逆ギレするように小学校で習ったのか、坊主?
567 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:11:36.37 ] >>563 > my $s = (time % 60); また恥を増やすつもりか それともオレのおなかをよじれさせるつもりかよwwwww はたまた引っ掛けとか釣りかよwwww $$$$$$$$$$$$
568 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:12:57.50 ] >>566 う〜ん? ちょっと言ってる意味が分からない >>567 さっぱり、お前の言ってる意味がわからん。 大丈夫か?
569 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:18:56.85 ] time + 60 で秒を使わずに 00 にして十分かと my($year,$month,$day,$hour,$min) = (localtime(time + 60))[5,4,3,2,1]; my $tatoeba = sprintf('%04d-%02d-%02d %02d:%02d:00', 1900+$year,$month+1,$hour,$min); こんな感じ。釣りなのは分かってるけどね。
570 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:20:32.13 ] $day が抜けてたwごめんね
571 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:21:02.74 ] バグ入りコードを晒した>>555 が必死で火消し中w だがもう涙で画面が見えないw
572 名前:デフォルトの名無しさん [2012/02/11(土) 22:23:49.16 ] 原因は>>548 この程度も分からない池沼ってコピペでしかプログラム組めなくね? 何でこの板にいんの?
573 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:24:52.04 ] でもこんなことも他人に聞く時代になったんだね。 未来にはどんな質問がされることやら。
574 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:27:25.11 ] >>569 それだと00秒の時にも繰り上げてしまうのがよくないって、さっき突っ込まれたけど。 それと、標準のlocaltimeは、Time::Pieceが無いのならしょうがないけど、 使えるならTime::Piece使う方が綺麗で簡単だしモダンなんだそうだ。 my $tp = Time::Piece::localtime($time); print $tp->hms >>571 どうした? どこが間違ってるんだ、カッコ付いてるのが気に入らなかったか?
575 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:32:14.47 ] > カッコ付いてるのが気に入らなかったか? こりゃ思った以上に低レベルだわ 頓珍漢にも程がある
576 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:33:49.32 ] >>574 >それだと00秒の時にも繰り上げてしまうのがよくないって、さっき突っ込まれたけど。 そんなこと気にしない。 なぜなら 00 秒のときに実時間的には小数点以下の値があるから。 548に聞いてみ。問題ないっていうに決まってるぞ。
577 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:35:27.72 ] だいたい、そんなこといってる間に1秒たつだろw
578 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:37:11.91 ] >>575 はいはい、低レベル低レベル。 >>576 俺もそう思うけどw でも指摘されたから修正したけど。 まぁ>>548 の質問の内容には十分満たしてるだろ。
579 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:44:15.09 ] time + 60 # 分で切り上げ time + 60*60 # 時間で切り上げ time + 60*60*24 # 日で切り上げ my($year,$month,$day,$hour,$min) = (localtime(...))[5,4,3,2,1] # 分単位で取得 my($year,$month,$day,$hour) = (localtime(...))[5,4,3,2] # 時間単位で取得 my($year,$month,$day) = (localtime(...))[5,4,3] # 日単位で取得 こういうの、モダンのやり方だと解法が見えてこないよね。
580 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:45:41.47 ] 440 : 名無しさん@お腹いっぱい。 : 2011/07/04(月) 00:00:00.00 ID:lVHU+IzZ0 誰だよ実質的に小数点以下の値がある とか穂剤てるアフォは そういうバグ野郎はさっさと寝ろよ
581 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:47:03.44 ] >>579 うん? >>563 と >>574 の方法でできる
582 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:47:22.68 ] ここは、自分の都合に合わせて問題を勝手に変えてしまう ゆとりPGが楽しく集う場所みたいだなw
583 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:48:05.37 ] 覚えたてで使ってみたくてしょうがないんだろな、オブジェクト指向。 気持は分かる。
584 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:50:50.26 ] >>582-583 一人事じゃなくちゃんとアンカーつけようねー
585 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:51:55.43 ] 学校のパールはPerl4かもしれないしね
586 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:54:52.28 ] >時間を分単位とかで切り上げしたいのですが >『どうやったら』いいのでしょうか プロセスを質問しているようなので、回答もプロセスがよろしいかと。
587 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:55:09.67 ] >>585 そんなバカなw そんな学校辞めてOKだろw 万が一そうだったり、Perl4で強いたげられているんだ!だったら、 まぁその環境にあった良い感じでw
588 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:57:00.34 ] そこは 強いられているんだ!!! だろ
589 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:59:43.60 ] >>588 J( 'ー`)し ごめんね。おかあさんはじめて「強いられているんだ」使ったから、ごめんね。
590 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:00:01.84 ] しいたけたいらげている?
591 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:01:39.30 ] そもそも元の質問がPerl特有のものじゃなかったしな
592 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:01:52.39 ] おれなら秒単位で出力して、読むときに分単位で切り上げるけどな、キリッ
593 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:04:04.92 ] バカガキ>>548 に踊らされるアホ住人
594 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:04:45.12 ] 小学生の頃だったら、迷わずrootで1分進めとくオレだけどなw
595 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:04:46.67 ] バッカでぇーーッす!!!
596 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:52:09.04 ] >>585 >>587 ねーよww そんな環境あったら抗議多発するし 今時4のみ対応のテキストなんてどうやって用意すんだよwww
597 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 00:34:36.40 ] ($year,$month,$day,$hour,$min) = (localtime(time + 59))[5,4,3,2,1]; $time = sprintf("%04d-%02d-%02d %02d:%02d:00",1900+$year,%month+1,$day,$hour,$min); でいけそうです。ありがとうございました。
598 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:16:03.00 ] 義務教育で全生徒が対象なので情報処理の基礎を教えるのが目的です。高度な機能は必要ありません。例えば分の切り上げのようなもので十分です。テキストは教師がプリントを作っています。Perl4を使うことに対して抗議されるほどそもそも授業数がありません。
599 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:22:04.97 ] 中間の変数を使わない方法は
600 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:25:43.38 ] 義務教育だから「こそ」せめてPerlなら5以上にしとけと思う俺は異端なのか?
601 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:25:47.49 ] >>598 だったらPerlじゃなくてBASICでもLOGOでも使ってれば?
602 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 02:01:11.84 ] それではjcode.plなどの 実践技術を学べないだろう
603 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 02:42:57.16 ] 今でもjcode.pl使ってるヤツは、おばか以外の何者でもない。
604 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 02:51:07.37 ] お前KENTさんを侮辱するのか?
605 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 02:58:12.61 ] >>604 正直あの人のスクリプトは、もう古い。 有名だからって、あれを見習っちゃいけない。
606 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 03:03:20.23 ] このスレに質問してくる人の9割がKENT本読んでんじゃね?て感じのコードだしなぁ…
607 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 06:15:03.40 ] >>597 $time = int(($time + 59) / 60) * 60;
608 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 12:48:02.97 ] KENTのPerlスクリプトが 通用したのは2000年ぐらいまでだろうね。 今では、高校生がPerlでこんなのを作ってみましたって 感じにしか見えない。
609 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:06:30.46 ] プログラムなんか簡単そうに見えた方がいいだろ 難解なものを有り難がっているうちはビギナー
610 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:13:01.61 ] と言う奴が便利なモジュールを使うべきところで全部自分で一から書こうとする そしてそのスタイルを回りに強要する
611 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 14:01:33.05 ] KENTのコードは、今となっては モジュールでやればいいものを 自分で実装してるからな。 使えない。
612 名前:デフォルトの名無しさん [2012/02/12(日) 14:15:42.36 ] 俺の頭の中のPerlも2000年頃で止まってるわ 最近の日本語の文字コード変換のトレンドって何? 俺未だにjcode.pm使ってる DB使うには今でもDBIやDBDモジュール? use CGI;とか今でも使う?
613 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 14:26:33.39 ] >>612 >最近の日本語の文字コード変換のトレンドって何? Encode >DB使うには今でもDBIやDBDモジュール? 基本はそれ、あとはDBIx::*とか、らしい >use CGI;とか今でも使う? まあスタンダードだからね あとはFastCGIとPlackお勧め
614 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 14:27:47.26 ] 自分でやれる程度のものなら別にいいだろ モジュールを使うのは、自分でやってたら何日かかるか判らないような規模のものだ 好奇心で作ってみるには時間が無駄過ぎる
615 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 14:34:27.06 ] モジュールなら、ただ「使い方を覚える」だけでいい。 だが、それに頼り切って頭が腐った奴には 授業で習うレベルの古典的な>>607 すら理解できない。
616 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 15:05:39.00 ] >>614 まだ目先のことしか見れてないね。 基本的にこんな感じで選ぶよ。 ・標準モジュールは使う ・よく使われてるモジュールは使う ・コードがシンプルになるなら使う 簡単に作れるような内容でもテストまで含めたりすると、 殆どの場合モジュールを使ったほうが速いしね。 逆にモジュールを使わないと判断するのは、そのモジュールがもうメンテされてない。 バグが多い。世の中で誰も使ってない。オーバースペック。こんな所かな。
617 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 15:12:39.05 ] > 世の中で誰も使ってない。オーバースペック。 ようするに「わたしにはそのコード理解でkましぇーーーん!!」 だろ 先例主義のアフォかよw
618 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 15:26:25.77 ] >>617 なんでそう思ったの?
619 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 15:42:41.39 ] 他人のモジュールを使ってバグで悩むのは、作者の想定外のことをするからだ 想定しない作者が悪いというよりも、道具の使い道を把握できない利用者の責任 一度フリーソフトとか作って公開してみるといいよ 何でそんなことに使おうと思ったんだ、みたいな苦情が来るから
620 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 15:46:39.08 ] >>619 抽象すぎて説得力がない。
621 名前:デフォルトの名無しさん [2012/02/12(日) 15:57:58.27 ] >>613 サンクス!
622 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 17:43:13.51 ] >>619 いや、それは作者のデバッグ力なさすぎな作者の責任だろ。普通に考えて。 想定外の使い方されないようエラーチェックするんだろ? 半角数字入力を期待する処理をする時、 半角数字以外の文字が入力されたらエラーと処理せず、 そのまま放置し不具合出たまま期待と違う処理を続行するような状態を、 「半角数字って書いてんのに、それ以外入力するお前が悪いから知らね」とでも言うのか? 例え日曜プログラマーだったとしても、プログラム作る人間の風上にも置けんな。
623 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:11:39.10 ] sub funk1 { print "argv: @_\n"; } $funk2 = &funk1; print $funk2("foo bar"); これを実行すると argv: とだけ出力されて何故引数が表示されないのか考えました。 何故print $funk2("foo bar");でコンパイルエラーが出ないのでしょうか? (use strictすると出ますが) $変数名に()をつけて呼び出す記法は無いと思うのですが。
624 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:34:31.22 ] Bareword
625 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:40:59.78 ] >>623 なぜ変数名に()を付けてエラーとならないかってのは答えれないけど、 argv: とだけ表示されて、なぜ引数が出力されないかって所は、かなり酷い状態だ・・・・ ちなみに、 sub funk1 { print "argv: @_\n"; } $funk2 = \&funk1; $funk2->("foo bar"); こうすればいいんだけど、もっと基礎をちゃんと勉強しろ
626 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:43:59.84 ] リファレンスも知らないバカ
627 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:45:30.99 ] またスパルタ教師ぶりたい連中が湧いてきたな >>625 なんか最後の一言で台無し
628 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:46:34.88 ] モダンPerlってうっかり車輪の再発明になってしまったモジュールのステマだろ?
629 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:48:45.01 ] >>627 普通にそういう状態だから。 答えを示さず煽るだけは嫌いだけど、 この質問はなかなか酷い。 2chで質問してイヤな思いするなら別で質問するんだな。
630 名前:623 mailto:sage [2012/02/12(日) 18:53:17.29 ] すみません。純粋に疑問点だけを載せればよかったですね。 何故argvしか表示されないのかの理由はわかっています。
631 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:55:25.58 ] use strict知ってるのにリファレンス知らない奴なんてそうそういねーだろ
632 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:56:17.49 ] 現に居てるじゃねーか
633 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:58:25.45 ] >>623 ↓出力する内容 print $funk2("foo bar"); ↑ファイルハンドル print $funk2 'foo bar';と等価。
634 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 18:58:33.88 ] >>632 は>>623 を「リファレンスも知らない初心者」と決め付けたかったわけだな 残念、本当の初心者ならuse strictすら使えんよ
635 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:03:16.88 ] >>634 知らなかった事、間違ってた事を全力でフォローするな。 知らない事、間違った事を認めれないガキか。 「間違ってましたー、勉強してきまー」くらいで終わらんのか・・最近のガキは・・・
636 名前:デフォルトの名無しさん [2012/02/12(日) 19:04:52.68 ] >>630 ← で、何でこのゴミは何なの?
637 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:06:00.24 ] >>635 >「間違ってましたー、勉強してきまー」くらいで終わらんのか・・最近のガキは・・・ 本当にそう言ったとしてもお前らがネチネチと終わらせないわけだが
638 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:06:14.98 ] 623って頭悪そうPerl関連の本とか5冊も持ってないんじゃね。
639 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:08:02.35 ] >>637 それで終わってあとは二度とスレ見なければいい話だろ >>623 みたいなマジキチは2chを便利なオンライン講座と勘違いしてるわけだし
640 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:08:45.12 ] >>637 誰かが言ってたけど、2chなんて便所の落書きと同じだ。 その中に有益な情報が紛れてるのを見付け出して利用する。 後はポイだ、ポイ。
641 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:08:47.46 ] >>634 perl -e 'my $a="STDERR";print $a("aaaaa");' >/dev/null aaaaa おお、ほんとだ。納得しました。
642 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:09:46.47 ] 間違えた、>>641 は>>633 宛。
643 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:10:34.50 ] まともな精神構造してたら他人に質問するのにこんな態度はとらんよ。 親がキチガイなんだろう。 まともにガキ1匹教育できないクズが性欲にまかせてガキ作ったのがこの結果。 >>623 の親は社会のお荷物。
644 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:10:44.26 ] >>638 >>639 なに必死になってんの…
645 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:12:09.43 ] >>643 まともな精神構造なら、もし真摯に質問してきても偉そうな態度で答えたりしない
646 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:13:51.93 ] >>641 出力先がSTDERRだから表示されるけど、 なぜ一々標準出力を /dev/null へ捨ててるのかが意味不明。 笑えるほど何か、いちいちツッコミ所があるな
647 名前:623 mailto:sage [2012/02/12(日) 19:14:04.54 ] 何か勘違いされていそうですが、僕の書き込みは>>623 と>>630 だけです。 荒れるような質問をしてすみません。>スレ住人 >>633 あー、なるほどそう解釈されたわけですか。 use strict; sub funk1 { print "argv: @_\n"; } open(my $fh, ">test.txt"); print $fh("foo", "bar"); で上手く動きました。ファイルハンドルとして捉えられていたのですね。 $fh("foo", "bar")は関数呼び出しに見えますが、その辺をうまく解釈してくれようとしていたのですね。 ありがとうございました。
648 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:15:29.32 ] >>646 STDOUTへの出力じゃないことを強調したかったんで…
649 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:17:39.91 ] >>647 こちらこそ申し訳ないです 老婆心ながら、コードの可読性的に$fhと()の間は空けた方が良いですね
650 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:19:22.51 ] >>647 無事に動いてよかったよかった^^ 謝らなくてもいいよ、ゴミの下げる頭には何の価値もないから^^ 解決したならこれでもう二度と来なくていいね^^ 荒らしたかったらまたいつでもおいで^^
651 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:20:55.90 ] >>647 この場合はB::Deparseを使うと分かる。 文法に悩んだら一度試してみると吉。 perl-users.jp/modules/b_deparse.html
652 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:22:07.34 ] >>650 eq >>637 か? 非実在下種野郎を自分で演じるとは…
653 名前:デフォルトの名無しさん [2012/02/12(日) 19:22:43.94 ] >>647 自分の書き込みのせいで荒れてるって自覚あるのにまだ書き込んでるのかこの基地害
654 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:24:36.65 ] >>649 荒らし目的で釣り質問してるのに 可読性のいいコード出すわけねえだろバーカ
655 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:26:01.16 ] 誰か>>648 に対するまともな揚げ足取りが思いつかないんでお願いします
656 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:28:44.16 ] >>655 その説明でやりたい事の意味がわかったから、 いちいち間違いがないか確認しなくていいw
657 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:32:05.90 ] >>623 はパソコンの前で腹抱えて笑ってるんだろうな、 ほんと糞だわ
658 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:35:31.80 ] 釣りでェーーーーっす!!! バカが大量で今日も飯がウマいでーーーす!!! プププププ!!!
659 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 19:38:34.65 ] >>597 面白い発想。Time::Pieceでまとめるとこんな感じか。 use Time::Piece; my $time = localtime(time + 59)->strftime("%Y-%m-%d %H:%M:00"); 自分で考えるとこれか、>>607 と同じだな。 use POSIX qw(ceil); my $time = ceil(time / 60) * 60;
660 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 20:53:15.49 ] >>659 素晴らしい こういうモダン風への書き換えは参考になります
661 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:04:04.60 ] やっぱりモダンのほうが見やすいね。
662 名前:デフォルトの名無しさん [2012/02/12(日) 21:17:40.76 ] printでデバッグログを大量に出してるのですが、オンオフしやすいようにdbgPrint(名前は適当)にそのまま置換して、 sub dbgPrint() {print @_ if ($debug);} とか書こうとしたのですが、上手くいきません。すごく基本的なことだと思うのですが、 こういうことをしたいときはどうすればいいでしょうか。よろしくお願いします。
663 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:21:55.63 ] sub dbgPrint {print @_ if ($debug);}
664 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:29:47.35 ] >>662 Sys::Syslog、Log4Perlあたりを使えば、 簡単にデバッグログのON/OFFや 出力先の切り替えができる。
665 名前:デフォルトの名無しさん [2012/02/12(日) 21:32:10.50 ] @t = localtime( time ); if ( $t[0] != 0 ){ $t[0] = 0; $t[1]++; if ( $t[1] >= 60 ){ $t[1] = 0; $t[2]++; if ( $t[2] >= 24 ){ $t[2] = 0; $t[3]++; if ( $t[4] == 2 ){ $maxday = 28; }elsif ( ( $t[4] == 4 )||( $t[4] == 6 )||( $t[4] == 9 )||( $t[4] == 11 ) ){ $maxday = 30; }else{ $maxday = 31 } if ( $t[3] > $maxday ){ $t[3] = 1; $t[4]++; if ( $t[4] >= 13 ){ $t[4] = 1; $t[5]++; } } } } }
666 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:33:54.29 ] >>662 >うまくいきません ↑どううまく行かないのか分かるわけないだろクズ お前の見た画面が分かるわけないだろキチガイ レスいらないからとっとと失せろ
667 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:35:52.29 ] >>662 =ゴキブリ並の知能。
668 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:37:54.22 ] >>665 ゴミ?
669 名前:デフォルトの名無しさん [2012/02/12(日) 21:41:08.31 ] >ゴキブリ これ最近流行ってんの? >>662 の頭がそのレベルってのは同意だけど
670 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:44:45.48 ] >こういうことをしたいときはどうすればいいでしょうか。 本10冊くらい買ってきて読めば?
671 名前:662 [2012/02/12(日) 21:48:59.07 ] ソース my $debug = 1; sub dbgPrint() {print @_ if ($debug);} &dbgPrint "test\n"; 実行結果 String found where operator expected at test.pl line 3, near "&dbgPrint "test\n"" (Missing operator before "test\n"?) syntax error at test.pl line 3, near "&dbgPrint "test\n"" Execution of test.pl aborted due to compilation errors. dbgPrintの呼び出しで括弧を付ければ動きました。 &dbgPrint("test\n");
672 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:54:15.92 ] >>671 sub宣言時の括弧はいらない >>663
673 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:55:35.54 ] >>671 もうおまえ来なくていいから 独り言ならブログに書いてろゴミ
674 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:56:55.16 ] もうちと詳しく言うとsub文での()は「引数とらない」て意味 むしろ定数宣言で使われることが多い
675 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 21:58:21.17 ] >>662 なんでロクに質問の仕方も分からないヴァカがここにいるの?
676 名前:662 [2012/02/12(日) 21:59:37.59 ] 括弧を付けてないprint呼び出しがほとんどなので、いちいち括弧をつけるのは大変です。 なにか良いやり方はないでしょうか? sub宣言時の括弧はこれからやめます。ありがとうございます。Log4PerやSyslogも見ましたが 自分の目的にはちょっと大げさすぎるようで。でもありがとうございます。
677 名前:662 mailto:釣れる釣れるw [2012/02/12(日) 21:59:47.59 ] サブルーチンの呼び出しには()
678 名前:デフォルトの名無しさん [2012/02/12(日) 22:01:09.77 ] >>676 情報後出ししてよく平然と質問できるな
679 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:01:52.99 ] >>662 は荒らしだろ。 スルーしろ。
680 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:12:37.45 ] >>676 use CMDMessage; $dbg = new CMDMessage; $dbg->output('on'); $dbg->message('デバッグメッセージ'); とか使えば?
681 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:20:13.06 ] 低レベルな問題を解決できず、 解決方法が分かったし、とりあえず釣りにして行こう的な流れ。
682 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:22:01.29 ] 何この頭の悪すぎる>>662 必要な情報出さずに質問したうえに、レスがついてから情報出してくるとか 回答者のこととか全く考えてないな。 人格障害じゃね?
683 名前:デフォルトの名無しさん [2012/02/12(日) 22:24:30.60 ] このスレは質問がなければ存在価値がないんだよ わざわざ質問してやってるこっ人に感謝しろ糞共が
684 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:31:15.46 ] >>683 一番存在価値がねーーーのはオメーだよオメー さっさと消えろ人糞
685 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:31:39.70 ] Perl(笑)
686 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:32:39.76 ] >>665 うるう年を考慮してないね
687 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:55:11.34 ] @t = localtime( time ); $t[4] += 1; $t[5] += 1900; if ( $t[0] != 0 ){ $t[0] = 0; $t[1]++; if ( $t[1] >= 60 ){ $t[1] = 0; $t[2]++; if ( $t[2] >= 24 ){ $t[2] = 0; $t[3]++; if ( $t[4] == 2 ){ if ( ($t[5] % 400) == 0 ){ $maxday = 29; }elsif ( ($t[5] % 100) == 0 ){ $maxday = 28; } elsif ( ($t[5] % 4) == 0 ){ $maxday = 29; }else { $maxday = 28; } }elsif ( ( $t[4] == 4 )||( $t[4] == 6 )||( $t[4] == 9 )||( $t[4] == 11 ) ){ $maxday = 30; }else{ $maxday = 31 } if ( $t[3] > $maxday ){ $t[3] = 1; $t[4]++; if ( $t[4] >= 13 ){ $t[4] = 1; $t[5]++; } } } } }
688 名前:662 [2012/02/12(日) 22:55:33.91 ] やっぱりPerlでprintを使うときは括弧を付けたほうが後々いいということですかね。
689 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 23:06:50.86 ] Smart::Commentsが超便利 ttp://d.hatena.ne.jp/kkobayashi_a/20081014/p1
690 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 23:11:21.16 ] 教材に最適です。頂戴します。
691 名前:デフォルトの名無しさん [2012/02/13(月) 03:35:57.87 ] >>687 完全版がくるとは思わなかったw
692 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 06:42:43.63 ] 日本と中国の二者択一を迫る米国 www.chosunonline.com/site/data/html_dir/2012/02/11/2012021100371.html 米国で大統領補佐官(国家安全保障担当)を務めたブレジンスキー氏は「韓国が米国との同盟を 強く望んだとしても、米国が韓半島から手を引く時代は少しずつ近づいている」と指摘する。 韓国には「中国による東アジアの覇権を受け入れ、中国とさらに接近する」道と、(反日行為をやめて) 「歴史的な反感にも関わらず、日本との関係をさらに強化する」という二つの道が選択肢として提示されていると明言した。 「中国に頼る」ということは、中国の付属品のように屈従して延命を図り、その下で生き延びるという意味だ。 「日本と手を結ぶ」ことについては、説明する必要もないだろう。 与党も野党も、あるいは右も左も関係なく、韓国のあらゆる政治勢力は、 この状況で5000万の国民をどちらの方向に導くか、決断を下さなければならない。 米国 「もう韓国は捨てるから、中国の植民地になるか、親日になり日本の植民地になるか選べよ」 ★3 engawa.2ch.net/test/read.cgi/poverty/1329035247/
693 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 15:25:22.15 ] >>691 バグ直しただけです
694 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 20:31:33.76 ] 荒らすだけが目的の奴が最近ちょろちょろとじゃまくさいな。
695 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 20:57:46.64 ] お前のことか。 そうやって煽り文句書いて自演で荒らすんだろ。 気持ちわりぃ。
696 名前:デフォルトの名無しさん [2012/02/13(月) 21:10:05.86 ] うるさいゴミ
697 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 21:19:17.63 ] >>694 は荒らし?
698 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 21:24:01.83 ] 荒らしというより自分にとって都合の悪い話は全部荒らしに見える精神障害の一種 最近は自己中な精神構造から発症するうつ病患者がいるらしいし、その類
699 名前:694 mailto:sage [2012/02/13(月) 21:56:32.08 ] ちなみに俺が荒らしと思うのは >>695 >>696 >>698 あたり。いずれもたぶん荒らし兼自己紹介だな。 前みたいにコテハン使ってくれればいいのになあ。そうすればあぼーんしやすいのに。
700 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 21:58:38.13 ] 自己紹介乙 コテ付けてくれ
701 名前:デフォルトの名無しさん [2012/02/13(月) 22:03:55.44 ] しばらく書き込みもなくて落ち着いてるところに荒らしがどうのと燃料投下してる辺りどう見ても荒らしです。 お疲れ様でした。
702 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 22:04:38.96 ] www17.ocn.ne.jp/~endo/12_1.html >うつ状態を引き起こす要因 >自己愛性パーソナリティ >過剰な賞賛を求める特権意識が強い、相手を自分の目的にしか利用しない。 >相手に対する共感の欠如、他者への激しい嫉妬、尊大で傲慢な態度がある。 自分が気に入らないとすぐ荒らし扱いするのは >>694 はこの辺りだろうな、自覚もないみたいだしかわいそうに
703 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 22:06:12.90 ] >>702 うるさい池沼
704 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 22:08:30.01 ] >>699 ← 昨日の夜中から荒らすネタがなくて自演で無理矢理荒らし兼自己紹介を始めた人です
705 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 22:11:27.18 ] なんだ、自己紹介だらけで礼儀正しいいいスレじゃないか。
706 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 22:28:37.19 ] >>699 >>694 が抜けてるぞ。
707 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 22:36:19.94 ] >>706 死ね死ね死ね死ね死ね死ね死ね死ね
708 名前:694(本物) mailto:sage [2012/02/13(月) 22:39:59.47 ] >>699 は俺じゃない。 人のレス番騙って荒らすとかタチが悪いな。
709 名前:694 mailto:sage [2012/02/13(月) 23:05:20.54 ] >>708 偽物はお前だろ、死ねゴミクズ。 人に迷惑かけないように行方不明で死ぬんだぞ。 お前は生きてるだけで迷惑なんだから死ぬときくらい迷惑かけるなよカス。
710 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 23:16:53.97 ] 質問も何もきてないのにいきなり荒れててワラタw
711 名前:デフォルトの名無しさん [2012/02/13(月) 23:49:13.47 ] >>710 >>694
712 名前:694 mailto:sage [2012/02/14(火) 00:09:53.24 ] すげえ。いつのまにか俺が3人もいる。
713 名前:694 mailto:sage [2012/02/14(火) 00:10:50.66 ] 11人いる!
714 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 00:20:24.34 ] >>694 は何でわざわざこのスレ選んで荒らし始めたんだ?
715 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 00:33:25.12 ] Firefox のクラッシュは、Firefox 本体の不具合に限らず、外部のプログラムによる干渉、想定外のデータの読み込みや操作によって引き起こされます。 特に、Firefox と連携するプログラム (アドオンなど) や想定外の動作をするスクリプト、悪意のあるソフトウェア (マルウェア) が原因の多くを占めます。 Firefox 本体の不具合がクラッシュの原因となっている場合、たいていは最新版で修正されています。 まず、Firefox を最新版へ更新してください (初期設定では自動的に更新されます)。 Firefox を更新しても引き続き Firefox がクラッシュするようであれば、Firefox 本体の不具合ではない可能性があります。 このトラブルシューティングでは、そうした際に考えられるいくつかの原因と解決策を紹介します。
716 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 00:47:02.79 ] >Firefox 本体の不具合がクラッシュの原因となっている場合、たいていは最新版で修正されています。 たいていとかいう単語が出てくる程頻繁にクラッシュするゴミブラウザ誰が使うんだよ 使ってるのは一部の情弱だけなんだからいちいちコピペするな
717 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 00:47:40.28 ] >>714 さぁ、仕事でもクビになったんじゃね?w
718 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 14:54:12.00 ] 以下の二つのコマンドで出力結果が異なるのはバグでしょうか。 perl -MPOSIX=strftime -le 'print strftime ("%s", localtime)' perl -MPOSIX=strftime -le 'print strftime ("%s", gmtime)'
719 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 15:07:56.91 ] localtimeやgmtimeが返す値にはタイムゾーンの情報が含まれていなくて、 strftimeの%sはTZ環境変数に基づいて年月日時分秒を解釈するからそうなる。
720 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 15:19:12.68 ] 日本からの資金援助 ・6000億ドル(併合から終戦まで)1965年 ・8億ドル+α(経済協力金) 1965年 ・40億ドル (特別経済協力金) 1983年 ・100億ドル (通貨危機救済金) 1997年 ・200億ドル (ウォン高救済基金)2006年 ・300億ドル (ウォン安対策IMF、韓国に2.8兆円融通)2008年 その他、2002日韓ワールドカップのスタジアム建設費の融資した300億円は未返済 ・併合に反対だった伊藤博文を親日派の安重根が暗殺した結果、併合が決定的となった ・朝鮮内部で親清派・親露派・親日派などが争い、親日派が勝った結果、望んで併合された ・従軍慰安婦は強制ではなく職業売春婦であり、下士官以上の収入を得ていた ・強制連行はほんの数十人で、大多数は仕事を与えてもらったか、自ら求めてやってきた出稼ぎ労働者か密航者 ・創氏改名は日本で働く際に差別されないため、日本人の名前を自ら望んだ(※改名しない人もいた) ・創氏改名によって下層階級者がこぞって名門姓である「金」を名乗ったため、「金」が多数派となった ・併合後、日本によって教育やインフラへの投資が行われ、生活水準が著しく向上した ・韓国の発展は日本からの援助や併合時の置き土産(約60兆円)がなければ有り得なかった ・戦後、李承晩という独裁者が自衛隊発足前の日本から竹島を奪い取った ・日本から預かった北朝鮮への賠償金や援助金は韓国が使ってしまった ・上記の日本からの援助及び、北朝鮮への援助を使ったことを国民に正確に説明していない ・出稼ぎ労働者や密航者である同胞の在日韓国人・朝鮮人を引き取りもせず、日本に押し付けている
721 名前:デフォルトの名無しさん [2012/02/14(火) 15:53:35.47 ] >>718 何でもかんでも開発環境のバグにするなよゴミ バグってるのはお前の頭だろ
722 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 17:08:01.93 ] >>718 何でPerlの仕様も読まずに質問してんだ池沼。
723 名前:デフォルトの名無しさん [2012/02/14(火) 17:26:16.62 ] Firefoxってバグ直さずバージョンだけ上がっていく伝説の糞ブラウザか
724 名前:デフォルトの名無しさん [2012/02/14(火) 18:19:09.88 ] >>723 糞ブラウザって言うとブラウザみたいにきこえるぞ あれはただの産廃だよ
725 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 19:01:14.74 ] どうしてブラウザの話になってんだよ糞は>>723-724 だろ
726 名前:デフォルトの名無しさん [2012/02/14(火) 20:23:56.20 ] >>725 よう、糞 元気か? 頭の調子はどうだ?
727 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 20:50:22.08 ] 朝鮮人がわいとるのー
728 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 21:25:50.30 ] ちんちんかいかい
729 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 21:39:01.98 ] >>722 POSIX仕様はPerl仕様の範疇に無い。 更に%sは拡張仕様。
730 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 23:03:48.99 ] >>726 チンカス
731 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 23:12:04.09 ] >>730 マンカス
732 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 00:18:06.24 ] 連想配列の中の値が全部空文字列だったときにループを飛ばすような処理を考えて next if !grep { $_ ne q{} } values %hash; というような書き方をしたんだがどうも直感的じゃなくてパッとしない。 どう書きなおせばいい? サブルーチンに出して適切な名前つけるべき?
733 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 00:29:19.01 ] >>732 next if '' eq join '', values %hash; パッと思いつくのはこれくらいかなぁ 特に見やすくなったとは思えんが・・・ サブルーチン化するかコメントでも書いておくのが正解じゃね
734 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 00:54:46.31 ] >>733 ありがとう。joinは盲点だった。 とりあえずサブルーチンにしといて %hashをメンバ変数にしたクラスのメソッドに移すよう TODOリストに加えとくことにするよ。 こーゆーのって結局おざなりになっちゃうわけだけど……やれやれ。
735 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 01:04:45.23 ] >>719 >localtimeやgmtimeが返す値にはタイムゾーンの情報が含まれていなくて、 含まれていないにも関わらず、strftime の結果が異なるのは、strftime は 引数の値を見ているのではなくて、引数部分に記述されているのが何かを 見ているってことなの?本当なの?
736 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 01:55:44.13 ] >strftimeの%sはTZ環境変数に基づいて年月日時分秒を解釈するからそうなる。
737 名前:デフォルトの名無しさん [2012/02/15(水) 01:58:05.42 ] マジカルインクリメントってひらがな対応してたのかよwwwwwwwwwww はやく教えろよwwwwwwwwwwwwwwwwwwww
738 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 02:15:48.95 ] >>732 読みやすさとは関係ないけれど、hash が大きい場合は、grep だと最初の一個が 空でなかった場合でも全部なめてしまうので、効率よくないよ。
739 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 08:26:13.78 ] >>722 つか、localtime/gmtimeの概念はPerl誕生よりず〜っと前からあるよ
740 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 08:38:49.79 ] >>738 そんなん誰でも知ってるだろ低能
741 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 09:38:07.45 ] >>732 use List::MoreUtils qw(all); next if all { $_ eq q{} } values %hash;
742 名前:デフォルトの名無しさん [2012/02/15(水) 12:59:47.65 ] もういいです
743 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:04:02.05 ] strftimeは引数を無視して、自分でtime関数を呼び出してTZ環境変数に 基づいて年月日時分秒を解釈するんですね。とても勉強になりました。
744 名前:デフォルトの名無しさん [2012/02/15(水) 22:39:16.33 ] 結局ファイルの行数を得るにはどの方法が一番いいんだよハゲ
745 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 22:52:41.19 ] wcでも呼んどけタコ
746 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 00:47:39.85 ] 「一番いい方法」なんてのはない。 好きな方法でやればいい。 それがTMTOWTDI。
747 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 01:49:15.98 ] ただ公式faqでの回答はゴミだから参考にしてはいけない
748 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 01:58:19.69 ] >>743 strftimeの%sがタイムゾーン分の秒数を引いてるだけじゃない? 私の手元の環境の実装だと、そんな感じだった。
749 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 04:28:26.00 ] うん。 >>743 の人は何かひどく誤解してるようなんだけど、 何をどう誤解してるのかがよくわからない。
750 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 07:59:20.52 ] 韓国人アイドルグループ「GREAT」が歌手活動に必要な在留資格を得ずに活動していた事件で、警視庁組織犯罪対策1課と新宿署は 15日までに、入管難民法違反(資格外活動)容疑で、20〜27歳の男性メンバー5人を書類送検した。事情を知りながらグループを来日 させ活動させた同法違反のほう助容疑で、ライブハウスを実質的に経営する韓国籍の男性社長(48)=東京都新宿区=も書類送検した。 同課によると、メンバー5人は容疑を認め、社長も「デビューしたてのグループが日本で売れれば、見返りが入ると思った」と認めている。 .news.livedoor.com/article/detail/6281304/
751 名前:デフォルトの名無しさん [2012/02/16(木) 21:11:43.94 ] 牛丼クレープ
752 名前:デフォルトの名無しさん [2012/02/17(金) 12:38:31.97 ] $s =~ s/hoge(\d+)/ /g; みたいに"hoge数字"グローバルに置換して、マッチした数字部分を全部取得する方法ってある?
753 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 12:41:20.06 ] grepで二度手間を試みる
754 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 13:05:32.96 ] my @match; $s =~ s/hoge(\d+)/push @match, $1; " "/ge;
755 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 22:34:02.61 ] 得意満面の s///ge 内の push。
756 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 01:50:59.38 ] 何か変?
757 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 03:50:34.97 ] >>754 ヘー、勉強になりまった。
758 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 03:55:26.07 ] んにゃ、きわめて真っ当。
759 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 03:55:59.40 ] >>754 ていうか push @list, $1 while s/hoge(\d+)//; って書きこみしようとしていた。
760 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 13:56:55.08 ] ホントPerlは勉強には事欠かない言語ってことを再認識した
761 名前:デフォルトの名無しさん [2012/02/18(土) 17:50:37.78 ] test_dataディレクトリにいろんなログデータが入っていて 管理モードを作って、このディレクトリ名をrenameで変更したいのですが test_dataディレクトリの中にあるファイルに誰かが書き込んでいるとき ディレクトリ名を変更するとデータが消えたりするんですが それを回避できるいい方法はないんでしょうか? ディレクトリ全体をロックすると重くなるのでそれ以外の方法でです
762 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 18:01:46.29 ] >>761 $ chmod 700 test_data $ mv test_data [好きな名前] $ chmod 777 [変更した名前]
763 名前:デフォルトの名無しさん [2012/02/18(土) 19:52:25.24 ] >>762 その方法でディレクトリ名を変更すると 変更前の現在書き込み中のファイルは途中で書き込みが中断されますか?
764 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 20:11:35.27 ] OSは秘密ですか。そうですか。
765 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 20:12:18.88 ] >>763 試してみればわかるんじゃないかな? これはOS依存になると思う、Ubuntuで試した所・・・ 書き込み用にファイルを開いているタイミングでパーミッション変えても書き込みは続行する。 次の書き込みからファイルオープンができなくなる。
766 名前:デフォルトの名無しさん [2012/02/18(土) 20:15:06.30 ] windows7でactiveperlなのでUNIXコマンドはできないです
767 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 20:17:59.39 ] >>766 もう、スクリプトを止めたら? ディレクトリの名前を書き換えて再開すればいいんじゃね?
768 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 20:21:49.89 ] windowsだとオープンしているファイルがあるとディレクトリ名の変更が出来ないから、 test_dataディレクトリのファイルをいじるときはダミーのファイルをオープンする。 管理モードではディレクトリのリネームが成功するまでリトライする。
769 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 21:09:46.43 ] つtechnet.microsoft.com/ja-jp/library/cc771672(v=ws.10).aspx
770 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 01:03:13.41 ] mkdirで排他用のディレクトリを作る このディレクトリがある間は、それ以降test_dataの中のファイルにアクセスできないようにする この排他用ディレクトリができる前にtest_dataディレクトリの中のファイルに書き込んでいるプロセスがあるかもしれないので sleepで10秒くらい待ってからrenameでtest_dataディレクトリ名を変更すれば その書き込んでいるプロセスも終了しているだろうから安全にrenameできるだろう
771 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 01:24:07.44 ] もうperlに閉じた話じゃなくなってるな。OSがらみ。
772 名前:デフォルトの名無しさん [2012/02/19(日) 02:39:57.73 ] スキルがなくて2chで質問するような低能は込み入った作業をしなさんなってこった
773 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 17:37:49.27 ] perlでは「"0"」が偽と判断されてしまうようなんですけど、 「"0"」を真と見なすには、「length("0")」とするしかないでしょうか。 みなさんどうされてますか。
774 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 17:44:59.83 ] そのために defined があるんでしょつりですね
775 名前:デフォルトの名無しさん [2012/02/19(日) 17:45:34.24 ] お前の頭の中のアルゴリズムに問題があるだけだろ if ( $a ne "" )
776 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 17:47:59.64 ] ! を使う
777 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 17:49:19.55 ] そのアイディアにはびっくりしました
778 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 17:51:58.96 ] びみょうにバグってますね 正しくは if ( $a eq "0" )
779 名前:デフォルトの名無しさん [2012/02/19(日) 18:05:00.58 ] windowsならば>>770 がいいと思いました
780 名前:デフォルトの名無しさん [2012/02/19(日) 18:24:34.77 ] うるさいゴミ
781 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 18:54:05.89 ] なに?作文?
782 名前:デフォルトの名無しさん [2012/02/19(日) 19:14:41.97 ] >>773 文字を数値として比較しようとするからだろ基地害 お前まじでプログラミング向いてないから失せろ異常者
783 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 20:41:06.16 ] perlでは変数に値を代入後、格納したものが文字列なのか数値なのか の情報が失われてしまうようなんですけど、どちらが代入されたのか 調べる方法があるのでしょうか。 みなさんどうされてますか。
784 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 20:52:32.26 ] >>782 数値じゃなくて真偽値だろ
785 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 21:14:28.53 ] >>783 ↑ C言語もやったことのないようなゴミがこういうレスするんだろうな。 自分が格納した値の型も忘れるような痴呆は回線切れよ。
786 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 21:22:19.61 ] >>783 おいアホ釣り針がお前のアレなみに小さいぞ
787 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 21:22:47.45 ] >>783 ないよ。Perlはじゃんじゃか動的に型付けするから。 文字列か数値かで処理を分けたいなら同じ変数に入れるべきじゃない。 具体的に困ってるコード見てみないとアドバイスできないけど。
788 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 21:46:39.32 ] (($_ ^ $_) eq '0') ? print "$_: numeric\n" : print "$_: string\n" for (1, '1'); 1: numeric 1: string
789 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 23:10:36.14 ] >>783 評価の仕方で、文字だったり数字だったりでPerlさんが自動で判断してくれる。 文字とかも数字として評価する事もできるしな。
790 名前:デフォルトの名無しさん [2012/02/19(日) 23:22:25.60 ] >文字とかも数字として評価する事もできる 馬鹿の書いたソースでよく見かけるね
791 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 00:47:49.78 ] utf8フラグがONになっているものが文字列。
792 名前:デフォルトの名無しさん [2012/02/20(月) 00:57:52.14 ] 数値比較だと空データは0として見なされる
793 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 01:16:22.87 ] ($_ ^ $_) =~ /^\x00*$/ でもいいか
794 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 02:55:05.85 ] >>789 > 評価の仕方で、文字だったり数字だったりでPerlさんが自動で判断してくれる。 > 文字とかも数字として評価する事もできるしな。 このへんがperlの便利でもあり厄介でもあるところ。 まあ慣れれば便利なことの方が多い。
795 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 14:11:58.96 ] >>788 これはどういう仕組みなんですか?うまく動いたのですが、つまり同じ数値をxorした結果 '0' = ビット列00110000になっているという事ですよね。 調べたらperlは文字列にビット演算することができてその場合はasciiコードとして演算されるとの事でしたが、 文字列でも数字でも同じ物をxorすると0になり、結果は同じではないかと思いました。
796 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 15:12:44.00 ] >>795 同じ数値同士のXORは数値の0 同じ文字列同士のXORは文字コード0 つまり "\x00" >>788 の ($_ ^ $_) eq '0' は $_ が数値なら 0 eq '0' で、文字列値なら "\x00" eq '0' あとはわかると思うけど、eq は文字列比較なので前者の場合は左側の数値 0 は文字列 '0' に変換されてから比較されて、結果真になる。
797 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 15:20:05.81 ] >>798 はぁ〜〜なるほど、分かりました。 文字列同士のXORで得られた数値は文字コード(という表現が適切かどうかは分かりませんが)として再評価されるんですね。 分かりやすい解説レスありがとうございました。
798 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 15:22:32.68 ] × /2^798 ○ /2^796 失礼しました
799 名前:788 mailto:sage [2012/02/20(月) 19:40:36.19 ] まぁ、パズルに近いけどね。 破壊的な変数の利用を避けるべきなら、 破壊されやすい変数の利用も避けるべきで。
800 名前:age mailto:sss [2012/02/20(月) 21:14:30.39 ] webクローラのgunghoモジュール がどうしてもインストールできない POEエンジンインストールのところで(POE::component::*)エラーになる 解決策教えて それか別のperl高性能クローラ教えて
801 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 21:22:03.45 ] 癌呆の略字を知らないモグリかよ
802 名前:デフォルトの名無しさん [2012/02/20(月) 21:22:16.89 ] 馬鹿には無理
803 名前:age mailto:sage [2012/02/20(月) 21:39:20.56 ] そんな子といわずに教えて
804 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 00:34:24.86 ] 恥かしくてもう出てこられない785-787。
805 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 01:26:31.73 ] 標準入力を最後まで読み取る必要があるんだけど処理はしない。 とりあえず while (<>) {} とか書いてるが、もっとスマートな書き方ないかな?
806 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 01:35:09.55 ] 処理しないんなら読みとる必要も無いだろ
807 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 01:52:13.17 ] なんらかのプログラムの出力を吐ききらせたいとかそういうのじゃないのかね
808 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 01:53:58.95 ] ^Dだか^Zが来るまで読み捨てたいのかね。 @_ = <>; とか。スマートとは思わんが。
809 名前:デフォルトの名無しさん [2012/02/21(火) 02:26:19.84 ] 低能は黙ってろ
810 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 02:37:16.10 ] プロさんちーっす 0 while<>; はどうかと思った
811 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 03:20:20.57 ] >>806 procmailのフィノレター書いてるですが、最後まで読んでやらんと パイプ新だがなって怒られるんです(´;ω;`) >>808 それメモリ喰らいません? undef = <>;的な書き方ができたらウフーだなとかオモテますた。 >>809 ごめんなさいぃぃぃ >>810 かっこぇぇ惚
812 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 03:20:52.14 ] >>807 愛してます☆
813 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 04:18:56.02 ] (undef) = <STDIN>; () = <STDIN>;
814 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 04:25:31.57 ] >>813 ウフー! ウフー! ウフー! ウフー! ウフー! 自分の中ではこれFAなりでマジ惚れ危険! さんきゅーさんきゅーありがとベリーマッチ 関係ないけど皆さんやっぱ<>より<STDIN>推奨?
815 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 05:18:06.37 ] この場合は読み込み元が標準入力じゃないと成立しないんだから、 @ARGV の有無で読み込み元が変わる <> よりも <STDIN> のほうが間違いないでしょ。
816 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 05:33:53.62 ] 確かに相手が自前じゃないわけだし、なに食わされるかわかんないですもんね… 本当に遅くまで、もとい早朝までありがとうございました。真剣感謝です。
817 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 05:36:15.49 ] そんなトリッキーな書き方が許されるのは中学生までだよねー
818 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 10:28:33.57 ] perlのどこらへんがトリッキーじゃないんだ 奇をてらいたくなきゃあ別のクソでもいじくりまわしてろ
819 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 12:15:17.39 ] >>818 全部トリッキーに見えるのか。 どうかしてるよ、お前。
820 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 17:56:20.52 ] >>818 Perlごときで挫折したプログラミング不適格者の、典型的な言い訳だな。 体育会系会社に入って営業でもやってろw
821 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 19:52:44.30 ] " () = " は一応、リストコンテキストで呼び出すための慣用句ってことになってる。 perldoc.jp/docs/perl/5.10.0/perldata.pod#List32value32constructors
822 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 23:10:03.46 ] (<>);
823 名前:デフォルトの名無しさん mailto:sage [2012/02/21(火) 23:21:22.49 ] (i)
824 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 00:55:04.05 ] トリッキーではないわけね
825 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 00:57:47.51 ] >>824 アホか? フトンの中でクソしてさっさと寝ろよ
826 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 01:15:09.20 ] フトンの中でクソなんて発想が許されるのは三歳(さんちゃい)までだよねー
827 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 09:38:07.34 ] ×さんちゃい ○ちゃんちゃい
828 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 23:44:52.77 ] ('<>')
829 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 01:24:50.25 ] while ( my $hoge = shift @argv )やwhile( my $it = $it->next) ってそのうちundefになって終了するはずなんですが、 while(defined( my $hoge = shift @argv))のようにdefinedを使ってるコードが多いように思います。なぜなんでしょうか。
830 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 01:40:11.33 ] >>829 @argvの中に数字の0とか空文字が入る場合、前者だとそこで止まっちゃう。 あとイテレータに最後のundefがあるとは限らないよ。
831 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 02:12:06.81 ] >>828 正面向きのヒヨコみたい
832 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 01:19:58.30 ] >>830 ほんとですね、ありがとうございます
833 名前:デフォルトの名無しさん [2012/02/24(金) 13:13:11.47 ] うるさいゴミ
834 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 14:08:16.64 ] >>833 なるほど、自分がついて行けない話の時はそうなるのか 産廃並みの脳味噌だなw
835 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 21:56:49.58 ] perl -E '@a = <STDIN>; eval "@a"' これをもっと短くすることをお願いできないでしょうか?
836 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 22:34:19.63 ] >>835 何がしたいのそれ echo 'print "foo";' | perl
837 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 23:17:25.64 ] 選択中のテキストに対してシェルコマンドを実行する事が出来るアプリ(Meadow)を使って perl -pel "s/hoge/ほげ/" というような感じのことをしてみたのですが perlスクリプト書いて選択して実行してみたいなと思ったところです。perl だけでは動きませんでした。 今はこうやってます。(少し短くなった) perl -e "$/=undeff; eval <>"
838 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 23:56:04.53 ] パッパッパパッパぁ〜Perlライス
839 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 00:14:16.96 ] >>837 俺はvimしか使わんからEmacsの流儀は知らんけど、なんかやり方ありそうよ。 maruta.be/intfloat_staff/46 vimなら行選択して":!perl"でもしてやればカレントバッファに結果が出る。
840 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 00:23:42.23 ] >>839 Linux上ではperlだけで動くので多分WindowsとMeadowのせいなんだと思います。 わざわざ調べてくださってありがとうございます!
841 名前:デフォルトの名無しさん [2012/02/25(土) 19:21:23.07 ] 文字列を8もじずつ分割して配列にしたいんだけど どうしたらかっこういいですか?
842 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 19:36:19.69 ] そのかっこいい方法は、 最速ですか?
843 名前:デフォルトの名無しさん [2012/02/25(土) 19:56:46.61 ] >>841 ゴミは書き込みするなって
844 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 20:05:36.52 ] >>842 格好いい=最速、最速=格好いい 昔から決まってんだろ
845 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 20:08:55.00 ] 最速の方法は、 文字へのポインタを8づつ増加させながら 配列に加えていく方法だろうね。
846 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 20:19:58.87 ] my @div = $str =~ /.{1,8}/g ; これ以上短くできンの?
847 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 20:54:05.67 ] できたよ。 関数作ればコードも短く 意味もわかりやすくなる。 my @div = splitn($str,8);
848 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 21:25:21.82 ] >>847 それってホントに動作の意味が分かりやすくなんの? 関数のホントの意味知らないと、動作が絶対に分からないような作りになってね? 分かりやすいってのはウソで、実はそれ、説明性が低いだろ。
849 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 21:36:22.83 ] my @div = unpack('(A8)*', $str);
850 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 05:45:04.09 ] >>849 ,r=''""゙゙゙li, _,、r=====、、,,_ ,r!' ...::;il! ,r!'゙゙4 `'ヾ;、, ..::::;r!'゙ ,i{゙‐'_,,_ :l}..::;r!゙ . ,r!'゙4 4-ー‐‐==、;;;:.... :;l!:;r゙ ,rジ `~''=;;:;il!::'li . ill゙ .... .:;ll:::: ゙li ..il' ' ' '‐‐===、;;;;;;;:.... .;;il!:: ,il! ..ll `"゙''l{::: ,,;r'゙ ..'l! . . . . . . ::l}::;rll(, 'i, ' ' -=====‐ー《:::il::゙ヾ;、 ゙i、 ::li:il:: ゙'\ ゙li、 ..........,,ノ;i!:.... `' 、 ∧__∧ `'=、:::::;;、:、===''ジ゙'==-、、,,,__ `'(・∀・ ) `~''''===''"゙4 ~`''ー( )) u~u good job
851 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 12:34:25.82 ] perlのマニュアルでわかりやすいのってある? 省略したときに$_とか$@を使うのか 引数の中身を破壊するのかしないのか 戻り値が$_とか$@に入るのか ってのがいつもわからない
852 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 12:57:09.78 ] 以下のsub.plは単体で呼び出すとうまく動くのですが、main.plから呼び出すと |$ perl sub.pl を実行します |"\x{0436}" does not map to cp932. "\x{042c}" does not map to cp932. "\x{00b5}" does not map to cp932. ... となってしまいます。何故化けてしまうのでしょうか? やりたかったこと(標準出力を一時的に切り替えたい)はselectを使うことで解決したのですが、 以下がうまく行かない理由が分からず、分かる方がいらしたら教えていただきたいです。 両ファイルともutf-8で保存しています。windows環境です。 #### main.pl #### use strict; use utf8; use Encode; binmode STDIN, ":encoding(cp932)"; binmode STDOUT, ":encoding(cp932)"; binmode STDERR, ":encoding(cp932)"; my $command = "perl sub.pl"; print "> $command を実行します\n"; print decode("cp932", `$command`); ### sub.pl #### use strict; use utf8; binmode STDIN, ":encoding(cp932)"; binmode STDOUT, ":encoding(cp932)"; binmode STDERR, ":encoding(cp932)"; open DEF_STDOUT, ">&STDOUT"; open STDOUT, ">:encoding(cp932)", "./test.txt" || die "ファイルが開けません: $!"; print "testです"; close STDOUT; open STDOUT, ">&DEF_STDOUT"; binmode STDOUT, ":encoding(cp932)"; # この行を消すと、main.plの実行は上手くいくのですが、単体実行でwide character in print 化けます。 print "生成しました\n";
853 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 13:33:21.59 ] printfで文字列に全角文字が混じった時に、 全角は2文字分の幅として認識させるにはどうすれば ぐぐると、やたら面倒そうなのとか、根本から変えちゃうようなのしか見つからない
854 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 13:55:58.80 ] >>853 罫線問題もあるので、極めて難しい超難問ですお
855 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 14:23:31.52 ] じゃあ、罫線は無視で
856 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 14:26:05.67 ] 罫線問題って呼び方は聞いたことないけど、「曖昧な文字幅」の扱いのことだよね。 Winユーザでもギリシャ文字が場合によって半角だったり全角だったりなんてのは見たことあると思うけど。
857 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 14:34:36.92 ] ハングルは半角か全角か
858 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 14:51:51.24 ] こんなのでよくね? use utf8; sub count { my $str = shift; my @chars = split(//,$str); my $kigou = quotemeta("!@#$%^&*()_+|~-=\`[]{};:'\",./<>?"); my $count = 0; for (@chars) { $count += /[a-zA-Z0-9]|$kigou/ ? 1 : 2; } return $count; } print count("1234ほげほげ"); # =>12
859 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 15:16:54.51 ] >>852 俺の環境(Ubuntu)では文字化けしなかった。 cp932の所は環境に合わせるためにutf-8に書き換えたがな。 ってか、ちゃんと文字のencodeとdecodeを理解するべきだろ・・・ 魔法のおまじないのように「binmode STDERR, ":encoding(cp932)";」こういうの使わない方がいいと俺は思うけど。
860 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 15:19:44.17 ] decode('cp932', sprintf("%-10s", encode('cp932', $str) ) ); 結局、こんなんにしました
861 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 15:23:22.06 ] >>860 なんとひどい・・・ 無駄なオーバーヘッドかかりまくり・・・ センスの欠片も感じられない、もっと本読めマジで本読め
862 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 15:36:02.70 ] >>861 我流でやってきたので・・ おすすめの本があれば教えて下さい。
863 名前:デフォルトの名無しさん [2012/02/26(日) 15:45:40.64 ] >>862 自分で探せゴミクズ そうやってすぐ他人にきくからゴミみたいなコード書くんだろ ゴミコードをネットで晒して恥ずかしくないとか頭の中どうなってんだこの基地害
864 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 15:51:42.39 ] お前がどんなにゴミだクズだと罵ったところで、>>862 は人として最低限のプライドもないから無駄だよ。
865 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 15:51:51.45 ] バイナリでいいやん
866 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 16:04:46.11 ] >>862 俺が読んでた本は、もう随分古い本だからな・・・ 同じ本を薦めても情報が古過ぎる、新しい情報はネットから得てるし amazonで適当に探して評価読んで良さそうなのを一冊見つければいいんじゃないか?
867 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 16:19:33.07 ] ネットからは得られないぞ 入門の情報はネットで十分だけど、ノウハウ的なものは金を出さないと得られない
868 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 16:27:51.02 ] 応急の策としてなら>>860 は別にそれほど悪くない。 速度的にもutf8のまま真面目にFULLWIDTH/HALFWIDTHを判定していくよりは速いぐらいかもしれない。
869 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 16:56:03.34 ] 漏れが一切無いというのが安心できるな シフトJISの時と全く同じ動作を得たいなら、シフトJISにするしかない
870 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 17:03:42.35 ] 入力も出力もシフトJISなら処理もシフトJISで行ったほうがいいでしょ utf8に変換する必要性ないでしょ
871 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 17:07:44.22 ] クソ性器表現のため処理はutfだろふざけんなks
872 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 17:09:37.67 ] もう頭痛くなってきたw いい感じにひどいですね
873 名前:デフォルトの名無しさん [2012/02/26(日) 17:31:21.20 ] うるさいゴミ
874 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 17:37:25.00 ] >>852 ### sub.pl #### use strict; use utf8; binmode STDIN, ":encoding(cp932)"; # binmode STDOUT, ":encoding(cp932)"; binmode STDERR, ":encoding(cp932)"; open DEF_STDOUT, ">&STDOUT"; open STDOUT, ">", "./test.txt" || die "ファイルが開けません: $!"; binmode STDOUT, ":encoding(cp932)"; print "testです"; close STDOUT; open STDOUT, ">&DEF_STDOUT"; binmode STDOUT, ":encoding(cp932)"; print "生成しました\n";
875 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 17:52:22.23 ] ピログラムも知らないど素人向けでもないのにマルチバイト文字でメッセージ出す奴は基地害
876 名前:874 mailto:sage [2012/02/26(日) 18:01:58.62 ] それと多分、 open STDOUT, ">", "./test.txt" or die "ファイルが開けません: $!";
877 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 18:40:37.78 ] そこでjperlなわけか
878 名前:852 mailto:sage [2012/02/26(日) 19:09:09.34 ] >>859 ,874 レス有難うございます。 標準出力を切り替える前にも出力するためその行はコメントアウトできないです。 色々試してみたところ、デフォルトのSTDOUTを1度rawにするとsub.pl、main.pl共々上手く行きました。 binmode STDOUT, ":raw"; open DEF_STDOUT, ">&STDOUT"; 重ねがけのような状態になっていたのでしょうか・・? しかしsub.pl単体では上手く動いていたので謎です。 結局>>852 の # この行を消すと、main.plの実行は上手くいくのですが、単体実行でwide character in print 化けます。 の理由は分からず。 Ubuntuの方が試してくださった所どちらも上手く動いたとの事なので、 Windowsでの挙動があやしいということなのかもしれません。
879 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 19:10:56.18 ] アホかよ…… cp932なんだからwinでためさねーと意味ないじゃん
880 名前:874 mailto:sage [2012/02/26(日) 19:36:49.24 ] >>878 use utf8; binmode(STDOUT, ":encoding(cp932)"); binmode(STDOUT, ":encoding(cp932)"); layer(*STDOUT); print "あああ"; sub layer { warn(join("/", PerlIO::get_layers($_[0])), "\n") } これでアウトだしPerlIOは良く分からん。 確かに:rawを入れると直るね。
881 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 19:47:34.18 ] cp932でエンコードしたものをもう一度cp932でエンコードしようとしているんだから上手く動かないのは当然じゃないの?
882 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 20:12:07.34 ] だから初心者はjperl使えと口が酸っぱくなるほど、、、
883 名前:874 mailto:sage [2012/02/26(日) 20:20:55.64 ] >>881 ドキュメントに書いてくれええと思う。
884 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 20:37:36.28 ] cp932で二重エンコードは単なる間違いだけど、 utf-8で二重にやっちゃうのは頻繁に見る そしてフラグを剥がして解決する
885 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 20:58:17.86 ] utf-8で二重にやっちゃうのも単なる間違いだからw
886 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 21:01:31.55 ] そろそろ1レスでわかるやつがペーストされるいよかん。
887 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 22:46:15.18 ] encode済みの文字列をencodeできてしまうのはフェイルセーフが欠如してるとしか思えんな フラグ見れるのにそれ見ないんだぜ?
888 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 23:23:03.22 ] そんなもん言語仕様でどうにかしろよ
889 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 23:26:38.58 ] 言語仕様までいかなくてもEncodeモジュール側でなんとかできそうなもんだが… 問い合わせてみようかな
890 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 23:57:50.15 ] それよか、ひとくるみしたらどうだ?おれならそうする
891 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 00:21:44.60 ] >>852 のsub.plは、二度がけしているにもかかわらず windows7のコマンドプロンプトだと化けないな use utf8; binmode STDOUT, ":encoding(cp932)"; open DEF_STDOUT, ">&STDOUT"; open STDOUT, ">&DEF_STDOUT"; binmode STDOUT, ":encoding(cp932)"; layer(*STDOUT); print "生成しました\n"; sub layer { warn(join("/", PerlIO::get_layers($_[0])), "\n") } >perl sub.pl unix/crlf/encoding(cp932)/utf8/encoding(cp932)/utf8 生成しました
892 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 01:12:18.48 ] 甘やかすな 二重encodeは問答無用で青画面
893 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 01:27:30.39 ] Win95並みのクソOSだなそれ
894 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 02:39:42.45 ] d.hatena.ne.jp/perlcodesample/20091118/1246679588 ここ読め、かなり良いから。 変な使い方するな、理解してもないのに変な楽の仕方するな
895 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 06:48:35.60 ] とはいうもののクソの口から本当の楽の仕方は出てこない、 書かれることもない、 なぜなら>>894 の能力が低いから
896 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 06:57:34.31 ] use utf8を書かないとうまく動かない時ってどんな時だ?
897 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 08:05:06.77 ] >>896 ASCII 以外が必要なほぼすべての時。
898 名前:デフォルトの名無しさん [2012/02/27(月) 13:52:22.69 ] >>895 それめっちゃ分かる。 お前の能力めっちゃ低いもんな。
899 名前:デフォルトの名無しさん [2012/02/27(月) 14:04:23.67 ] なぜなら俺はイタリアンじゃないから
900 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 19:39:56.47 ] アクセス解析で環境変数を取得するときに、リファラーに井桁が入ってると変数に代入されず リファラーが取得できなくなってしまうのはどうすれば解決できますか
901 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 19:58:34.20 ] >>900 こちらへどうぞ。 Perlコーディング初心者質問スレ Part 63 kohada.2ch.net/test/read.cgi/php/1315559509/
902 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 20:06:31.96 ] >>901 誘導ありがとうございます。失礼しました。
903 名前:デフォルトの名無しさん [2012/02/27(月) 20:14:14.61 ] 勢いを見てもこのスレがPHPより人気なのが分かる
904 名前:デフォルトの名無しさん [2012/02/27(月) 20:16:12.30 ] つーかPHPの質問スレ自体がなくてワラタw PHP厨はこの世に存在しないのと一緒w
905 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 20:21:55.19 ] 普通にたくさんあるだろ
906 名前:デフォルトの名無しさん [2012/02/27(月) 20:23:33.91 ] それがなかったんだよw バトルロワイヤルとかHello Worldを書き込むとかそういうスレしかなかったwww
907 名前:デフォルトの名無しさん [2012/02/27(月) 20:24:47.12 ] >>905 つーか一覧でCtrl+Fですぐ調べられるから見てみろってwwww
908 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 20:31:15.49 ] 【Perl,PHP】LLバトルロワイヤル21【Ruby,Python】 【perl->php】お願いがあるんだ PHP使ってる奴らが憎いPerl>>>PHP PHPを使って2ちゃんねるにHello Worldを書き込む php使ってる奴はアホ、これからはRuby on Rails! すさまじい 怨念が渦巻いている
909 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 20:36:02.02 ] やっぱりPerlだよな。 PHPとか言語仕様が糞なうえにセキュリティホール付でリリースするからマジないわ。 ゴミすぎてPerlとの比較対象にすらならない。 PHP選んでるって時点で情弱。 馬鹿にされたくなかったらPerlを選んでおくべき。
910 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 20:53:58.47 ] 数えきれないほどあるけど? 【PHP】下らねぇ質問はID出して書き込みやがれ 116 kohada.2ch.net/test/read.cgi/php/1330224598/ PHP関連の書籍 第7版 kohada.2ch.net/test/read.cgi/php/1324952317/ IDにPerlが出たら神!PHPが出たらシメジ Part32 kohada.2ch.net/test/read.cgi/php/1303228484/ 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 kohada.2ch.net/test/read.cgi/php/1320768310/ 【PHP】Yii Framework kohada.2ch.net/test/read.cgi/php/1291909271/ 【PHP】PHPフレームワーク総合スレ15 kohada.2ch.net/test/read.cgi/php/1292118428/ PHPでオークションサイトを作ろう! kohada.2ch.net/test/read.cgi/php/1170317609/ [PHP][フレームワーク]CodeIgniter Part2 kohada.2ch.net/test/read.cgi/php/1299595202/ 【PHP】ビューと業務ロジックを混在させる【PHP】 kohada.2ch.net/test/read.cgi/php/1254298092/ 【初心者】励ましあいながらサイト製作【PHP】 kohada.2ch.net/test/read.cgi/php/1125711034/ Perl VS PHP kohada.2ch.net/test/read.cgi/php/982591467/ PHP>Java>>>超えられない壁>>>ASP>Perl kohada.2ch.net/test/read.cgi/php/1178094278/ Java VS PHP kohada.2ch.net/test/read.cgi/php/1177676518/ symfony PHPフレームワークpart2 kohada.2ch.net/test/read.cgi/php/1268753684/ 【PHP】鏡の国2ch bbs kohada.2ch.net/test/read.cgi/php/1234765454/
911 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 21:28:19.27 ] >>909 「セキュリティホール付でリリース」 コミュニティーがたよりない
912 名前:デフォルトの名無しさん mailto:sage [2012/02/27(月) 21:53:31.46 ] PHPにはだんこがいみたいなひといるの?
913 名前:デフォルトの名無しさん [2012/02/28(火) 00:05:00.57 ] 質問なのですがPerlでこういうサイトって作れますか? ttp://findrjp.com/formen/ これはPHPだと思うんですけど 作るとしたらelsifで作る感じでしょうか? こういうのってすぐ作れますか?
914 名前:デフォルトの名無しさん [2012/02/28(火) 00:43:21.62 ] >>913 >>1 を100回読んでから出直せゴミクズ
915 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 00:52:16.20 ] >Perlでこういうサイトって作れますか? >ttp://findrjp.com/formen/ お前は言語を何だと思ってんだ? PerlだろうとCだろうとC++だろうとシェルスクリプトだろうとできるだろ。 >これはPHPだと思うんですけど 「思う」じゃねーよ、Perlだったらどうすんだ? >作るとしたらelsifで作る感じでしょうか? そりゃ条件分岐くらい使うでしょうよ。 >こういうのってすぐ作れますか? すぐの意味が分からないが仕様書出してもらえれば寝起き2時間で作れるよ。 文字通り朝飯前。
916 名前:デフォルトの名無しさん [2012/02/28(火) 01:36:50.46 ] >>915 PHPとかperlってどこで判断するんですか? 結果ページのurlにはphpって入ってますけど
917 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 02:35:17.55 ] 死ねよ上げんな池沼
918 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 04:09:04.78 ] >>916 鯖管に聞かなきゃ分からない 一つの言語だけでできてるという保証もなし 精度向上がどうのって書いてあったから バックエンドではcで書いたややこしいシステムが動いてるかもよ
919 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 10:15:15.72 ] ひとつ言える事は・・・ 吐いてるHTMLは死ぬほど汚い、素人が作った物だろって事。
920 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 10:16:26.01 ] 寝起きで朝飯前食う前にやっつけで作ったんじゃね?
921 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 10:24:20.67 ] ステマそのものじゃねーか。つまらん。
922 名前:デフォルトの名無しさん [2012/02/28(火) 18:33:03.38 ] CGIの話はWebProg板でやれゴミ
923 名前:デフォルトの名無しさん [2012/02/28(火) 19:56:56.41 ] >>919 さすがプロの方 ありがとうございます
924 名前:デフォルトの名無しさん [2012/02/28(火) 20:59:01.76 ] バーカ
925 名前:デフォルトの名無しさん [2012/02/29(水) 21:56:03.52 ] 阿呆
926 名前:デフォルトの名無しさん [2012/02/29(水) 22:01:52.56 ] $a = time; for( $i = 0; $i < 10000; $i++ ){ $x = $x + 1; } $b = time; $c = $b - $a; print "$c";
927 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 04:13:20.21 ] my $a = time; my $x = 0; $x += 1 for 0 .. 9999; print time - $a, "\n";
928 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 07:16:10.31 ] ミリ秒まで計測できるよう改良してあげたぞ my $a = time; my $x = 0; for(my $i = 0; $i < 10000; $i++ ){ $x += 1; } my $b = time; $c = rand($b - $a); print $c. "\n";
929 名前:デフォルトの名無しさん mailto:sega [2012/03/01(木) 09:19:19.20 ] 文字列を改行つきで表示させたいとき、 print "$c\n"; print $c ."\n"; のどちらが良い方法ですか? 個人的には上の方法が好きですが、特に理由はありません。
930 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 09:26:06.30 ] >>929 俺は下の方が好き。 Perlは変数がダブルクォートの中にあっても展開してくれるけど、 他の言語では展開しない物の方が多い。 Perlでいう全部シングルクォートと同じ感じ。 気持ち悪いから下の方法を取ってるだけで、それ以上深い意味はない。
931 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 09:55:32.17 ] print文ならむしろカンマを使うね print $c, "\n";
932 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 11:52:40.78 ] . で接続すると、括弧が余計に必要になったりするから嫌
933 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 12:16:53.96 ] 好みって事で、どうでも好きにしろよ
934 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 12:27:40.83 ] print "$c\n"; print $c ."\n"; 新たに文字列が作られる。 print $c, "\n"; 新たな文字列は作られない。 したがって,推奨と信じてきたが違うのか?
935 名前:デフォルトの名無しさん [2012/03/01(木) 12:30:27.47 ] mes myText + "\n"
936 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 12:58:42.67 ] >>934 推奨かどうかはともかく、コピーが作られなくてメモリに優しいというのは多分合ってるよ。 perldoc.jp/docs/perl/5.10.1/perlfaq3.pod#How32can32I32make32my32Perl32program32take32less32memory63
937 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 13:53:13.26 ] コンマ使えば変数分のメモリが節約できるのか〜 変数の内容にもよるし微々たるものな事も多いだろうけど、 でも少しでも軽くするのはプログラマの努めだし、 軽くするために特にトリッキーな事になってる訳でもないし、 これからは積極的にコンマ使っていくよ教えてくれてありがとう。
938 名前:デフォルトの名無しさん [2012/03/01(木) 14:29:44.49 ] >>937 の内容に可読性に関する話が一切出ていない。恐らく真性の基地害。 保守性を無視した「自分さえ分かれば良い」コードを書くゴミの典型。プログラムをする資格のそもそもない人種。 それでプログラマの努めとか言っちゃってるのは恥さらし通り越して最早プログラマに対して失礼。 ほんとクズだなこいつ。
939 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 14:34:23.67 ] コンマなんか使うと可読性が落ちる(キリッ
940 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 14:38:37.11 ] そんなに軽くしたいならPerlやめてCで書けばいいんじゃね?
941 名前:デフォルトの名無しさん [2012/03/01(木) 14:48:09.89 ] >>937 は馬鹿だからそういう発想はできない。
942 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:03:48.12 ] @a = (1, 2); print @a . "\n"; print @a , "\n"; みたいな時に挙動が変わる
943 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:04:58.33 ] 何だ、この流れ。
944 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:05:43.83 ] >>938 > 軽くするために特にトリッキーな事になってる訳でもないし、 これが可読性に言及していると読み取れないお前は、ディスレクシアの疑いが高い。 専門医の診察を受けることを勧める。 もっとも診察受けても治らないけど、この業界文章読み取る能力が欠如してるとつらいぞ。
945 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:15:57.49 ] >>938 >>941 どうしてエキサイトしてるのか意味がわからないw
946 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:16:41.19 ] この業界はどんな条件でもつらい 自然言語でプログラムが組めるようになるまでは離れるのが吉
947 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:19:34.15 ] 可読性の高いトリッキーなコードと 可読性の低いトリッキーなコードあるよな
948 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:22:04.76 ] say $c;
949 名前:デフォルトの名無しさん [2012/03/01(木) 15:30:06.89 ] >>944 は可読性の低いトリッキーなコードしか見たことないんじゃね?
950 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:32:45.09 ] カスども仲良くしろ
951 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:34:16.52 ] >>949 ヒント: 類は友を呼ぶ >>944 みたいな文章しか書けないような奴が集まってみろよ その中に可読生の高いトリッキーなコード書ける奴がいると思うのか
952 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:35:35.67 ] 何にキレてるのか意味がわからない・・・ そんなにコンマが嫌いなのかw コンマ入ると読めなくなる程度の奴らなのかw
953 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:47:05.05 ] >>949 キミ、多分ディスレクシアだよ。つらいだろうが自分の特性を受け入れる事が大事。 >>951 煽るときは漢字間違えないようにしろよ。あと、お前の過去に何があったか知らな いが、コンマは噛みつかないからそんなに怖がる必要はないぞ。
954 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:49:36.00 ] そもそもカンマってなんであるんだ?構文解析上必要なのか疑問。(←わざわざカンマで区切らずともスペースで区切られてるだろ) print $s "\n"; これでも十分区切りはわかる。カンマは不必要。ではなぜそうなっていないのか、逆にカンマが必要な場面とはどこか。 print 3 + 5, 8; こういう場合だな。二項演算子が混じってくるケース。カンマを端折ってprint 3 + 5 8とすると区切りが分からなくなる。 ただカンマの代わりに括弧で括ってprint (3 + 5) 8とすればこれで区切りは分かる。カンマは入らない。 項の区切りにカンマを入力しなくていいが、二項演算子使う場合はカッコでくくるコスト>項の区切りに毎回をカンマ入力するコスト だと思うんだが
955 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:52:00.19 ] もうLispとかHaskellやれよ。 なんでPerlだけが噛みつかれるんだよ…
956 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 15:55:20.93 ] >>954 /: : : : : __: :/: : ::/: : ://: : :/l::|: : :i: :l: : :ヽ: : :丶: : 丶ヾ ___ /;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、 / ヽ /ヽヽ: ://: :!:,X~::|: /;,,;,/: :/ リ!: ::/ノ l`ヽl !: : |: : : :l: :l: リ / そ そ お \ /: : ヽヾ/: : l/::l |/|||llllヾ,、 / |: :/ , -==、 l\:::|: : : :|i: | / う う 前 | . /: : : //ヾ ; :|!: イ、||ll|||||::|| ノノ イ|||||||ヾ、 |: ::|!: : イ: ::|/ な 思 が /: : ://: : :ヽソ::ヽl |{ i||ll"ン ´ i| l|||l"l `|: /|: : /'!/l ん う ∠: : : ~: : : : : : : :丶ゝ-―- , ー=z_ソ |/ ハメ;, :: ::|. だ ん i|::ハ: : : : : : : : : : : 、ヘヘヘヘ 、 ヘヘヘヘヘ /: : : : : \,|. ろ な |!l |: : : : : : : : :、: ::\ 、-―-, / : : :丶;,,;,:ミヽ う ら 丶: :ハ、lヽ: :ヽ: : ::\__ `~ " /: : ト; lヽ) ゝ レ `| `、l`、>=ニ´ , _´ : :} ` / ,,、r"^~´"''''"t-`r、 _ -、 ´ヽノ \ノ / お ・ ,;'~ _r-- 、__ ~f、_>'、_ | で 前 ・ f~ ,;" ~"t___ ミ、 ^'t | は ん ・ ," ,~ ヾ~'-、__ ミ_ξ丶 | な 中 ・ ;' ,イ .. ヽ_ ヾ、0ヽ丶 l / ( ;":: |: :: .. .`, ヾ 丶 ! \____/ ;;;; :: 入:: :: :: l`ー-、 )l ヾ 丶 "~、ソ:: :い:: : \_ ノ , ヾ 丶
957 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:04:09.73 ] >>954 新しい言語を作るつもりなら期待してやっても良いぞ print FILEHANDLE LIST
958 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:07:18.91 ] >カンマを端折ってprint 3 + 5 8とすると区切りが分からなくなる。 分からなくはない コンパイラが8が演算子かどうか調べればいい 見た目が分かりにくくはなるが
959 名前:デフォルトの名無しさん mailto:age [2012/03/01(木) 16:08:43.91 ] このスレ馬鹿が多いなw 晒しage
960 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:12:51.04 ] こういうのを自己言及と言います
961 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:14:04.23 ] カリー化と括弧省略の合わせワザが使えたら、間違いなく地獄を見るな。
962 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:14:28.41 ] perlは文法が適当だからな 括弧で括るけど、気に入らなければ無くてもいい ヒュペリオンよりも適当
963 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:34:31.90 ] $a = 1; print ($a+1)*2 . "\n"; これでいいだろ、と直感的には思うのに、 print (($a+1)*2) . "\n"; こうでないと思い通りには動かない
964 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:42:07.59 ] 後者も上手く動いてないだろ。改行文字は出力されない。 ラクダ本曰く関数呼び出しは関数呼び出しのように振る舞う。 print (($a+1)*2) . "\n";これは print (($a+1)*2)で1つの関数呼び出しになっている。#=> 4が出力される その返り値に. "\n"されたものがヴォイドコンテキストで評価される。 #=> "4\n"が生成されて捨てられる
965 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:45:33.11 ] print (($a+1)*2 . "\n"); こっち
966 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:48:18.00 ] つーかそれは print +($a+1)*2 . "\n"; でもできるよね
967 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 16:49:31.13 ] その+地味に使えるよな。 +演算子は前に項がない場合何もしない、だっけ。
968 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 17:11:27.24 ] でもトリッピーだよな 何このプラス?、取っていい? って思う 書いた本人が暫く経つと思う 全体を括弧で括るのも、取っていい? って思いがちだけど ぱっと見に異常さがなくて、かつ最もシンプルな書き方がベスト
969 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 17:47:35.32 ] トリッピーってのは 書いた本人なのに暫く経つとなんで「+」つけたか忘れちゃうようなトリ頭のこと?
970 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 17:49:41.94 ] 英語教材のアレだろ そのわりにはアレだな アレ とりっぴぃ()
971 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 18:07:50.60 ] # 頭の+は取るな とか書いとけば嫌でも思い出すけど、 意味があってやってることを忘れてると、普通に消し忘れに見えるぞ それほどまでに print は括弧を付けて使わない
972 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 21:28:37.85 ] @a = ([1, 2], [3, 4]); print $a[0][0]; $b = [[1, 2], [3, 4]]; print $$b[0][0]; どっちが好き?
973 名前:デフォルトの名無しさん [2012/03/01(木) 21:59:51.62 ] うるさいゴミ
974 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 22:06:46.87 ] これがオレの流法 print $b->[0]->[0]';
975 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 22:11:24.09 ] print $c, "\n"; のprintの話ではないけど… Perlの前に、AWKがあった。 AWKの場合、 $c "\n" で連結される。 「何もないものを演算子にしてしまうと、/pat/ /pat/がパースできなくなってしまう。 なぜなら、3番目のスラッシュが除算演算子と解釈されてしまうからだ」 『プログラミングPerl改訂版』2000年3月21日オライリー・ジャパン
976 名前:975 mailto:sage [2012/03/01(木) 22:15:22.43 ] >>975 は、p. 610 awkユーザがはまりやすい罠(8.2.3)
977 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 22:34:37.21 ] 結合する時は結合先のバッファを確保して、strcpyすんだよ #include <string.h> を忘れがちだから注意な
978 名前:デフォルトの名無しさん mailto:sage [2012/03/01(木) 22:52:27.95 ] >>972 ケースバイケース
979 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 01:22:35.76 ] ケースバイケースとか状況に依るとか言うやつで 特徴を掴んだ典型例を2つ3つ示せない奴は無能
980 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 01:40:41.97 ] 後ろから詰めていきたいのですが。 ($hoge, $huge, $asdf) = @aryとした場合、リストが左寄せで代入され、要素が不足した部分にはundefが入りますが これを右寄せで代入したいです。 最初のゲスコード ↓ my ($sensen, $sensyu, $konsyu); ($sensen, $sensyu, $konsyu) = @ARGV if (@ARGV == 3); ($sensyu, $konsyu) = @ARGV if (@ARGV == 2); もっと良い感じに出来そうなのですが、皆さんならどのように書きますか? unshift @ARGV, undef if (@ARGV == 2); my ($sensen, $sensyu, $konsyu) = @ARGV; 今はこんな感じにしています。もっと変な方法を教えて下さい。
981 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 01:48:51.67 ] 好みを訊かれてるのにケースバイケースになる奴は、 天気によってコーディングのスタイルを変える
982 名前:デフォルトの名無しさん [2012/03/02(金) 01:53:59.72 ] 俺も人に何かきかれたときに、自分のレベルでは太刀打ちできないときはケースバイケースって言ってるよ 40%くらいの確率で「ああ、やっぱそうっすよねー」って丸め込める でも1対1のときで40%くらいだから、集団の中で使うには分が悪い >>979 みたいなアグレッシブな奴にバレる
983 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 01:58:10.41 ] 晴れの日にはカラッと見通しの良く可読性のいい気分の良いコード 雨の日にはしっとり上品で丁寧なアルゴリズム、雨の中純白色した傘をさし、しとしとと歩くお嬢様のようにどこか儚いコード
984 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 02:03:44.37 ] >>980 my ($konsyu, $sensyu, $sensen) = reverse @ARGV;
985 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 02:31:04.74 ] >>980 my ($sensen, $sensyu, $konsyu) = @ARGV[-3, -2, -1];
986 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 04:26:57.50 ] Perlのスレッドについて質問です。 メインスレッドで無限ループのスレッドを生成したのですが、 メインスレッドから終了させる方法がわかりません。 下記のような方法では、メインスレッドも死んでしまいます。 $thread->exit(); どうすれば良いですか?
987 名前:986 mailto:sage [2012/03/02(金) 04:45:58.41 ] 自己解決しました
988 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 10:07:41.72 ] なんか、@ARGVを直で書くべきでない気がするので、 shiftを何回も使う以外の方法で、いい感じに引き数を取得する方法は無いだろうか
989 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 10:29:57.30 ] 984の方法があまりにも鮮やかだったから 嫌みでもタレてんの?
990 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 11:04:43.35 ] > なんか、@ARGVを直で書くべきでない気がするので、 なんか気がすると言われても、他の人はそう思ってないから……
991 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 11:09:52.04 ] >>988 引数を便利に取得するモジュールいろいろあると思うから探したら?
992 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 12:09:46.45 ] >>989 自分で鮮やかとか言うなし
993 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 12:19:43.13 ] Getopt つかえば @ARGV はあんまり参照しなくていいじゃん。
994 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 12:30:30.89 ] バカがこねくりまわし時間とて3行費やして自己満足してるのに リバースで一行、 バカが@ARGV使うなとかワメくのもわかるよ 嫉妬と無能の自己紹介そのものだもん
995 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 13:11:35.16 ] ( ..)φメモメモ
996 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 13:14:36.94 ] 次スレは>>1001がよろ
997 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 14:29:56.22 ] >>993 モジュール呼び出しはいやだ
998 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 14:39:26.60 ] 次スレ Perlについての質問箱 51箱目 toro.2ch.net/test/read.cgi/tech/1330666216/
999 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 15:07:45.56 ] ぎんがてつどう
1000 名前:デフォルトの名無しさん mailto:sage [2012/03/02(金) 15:18:25.06 ] の朝
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。