- 1 名前:nobodyさん mailto:sage [2008/02/25(月) 19:25:51 ID:???]
- Perlのコーディングで困ってる人のスレです。
【投稿する際の注意】 質問するときは内容をよく吟味してから投稿してください。 「コマンドの意味がわかんない」とかはマニュアル見ましょう。 回答者さんは何でも屋じゃありません。 1: 自分はこういう事がしたい。 2: それでこんな風にやってみたが・・・ 3: こんなエラーが出て上手く行かなかった。 最低でも1と3が無いと誰も答えられないよ。 良い回答は良い質問から。一緒に勉強しましょう。 お勧めサイトは >2 以降 前スレ pc11.2ch.net/test/read.cgi/php/1189939783/ 過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/
- 151 名前:nobodyさん mailto:sage [2008/03/19(水) 16:56:44 ID:???]
- ひどすぎワロタwww
- 152 名前:nobodyさん mailto:sage [2008/03/19(水) 17:13:34 ID:???]
- $hash{名前}->数ってこれはリファレンス的な意味じゃないよね?
$hash{名前} = 数で取り出したいってこと? $splitdata[10]てなに?空じゃないの? $hashには$hash{$splitdata[7]} = 0; この部分でしか入れてないよね?
- 153 名前:nobodyさん mailto:sage [2008/03/19(水) 17:20:14 ID:???]
- > (フォーマットは「名前\t\t\t\t\t\t\t数\t\n」)
$splitdata[0] が「名前」 $splitdata[7] が「数」 に見える。 コードは $splitdata[7] が「名前」 $splitdata[10] が「数」 っぽいことになってるし、いつのまにか $splitdata[10] に 2 が入ってるし、よくわかんない。 (exists $hash{$splitdata[0]}) かどうか調べて、なかったら用意して $hash{$splitdata[0] += $splitdata[7] したいんじゃないのかな。
- 154 名前:153 mailto:sage [2008/03/19(水) 17:21:25 ID:???]
- 最後の行 $hash{
- 155 名前:153 mailto:sage [2008/03/19(水) 17:23:29 ID:???]
- すみません。} を打とうとしたら shift + enter を押して鬱。
$hash{$splitdata[0]} の } が抜けてました。
- 156 名前:nobodyさん mailto:sage [2008/03/19(水) 17:28:37 ID:???]
- map { $hash->{$_->[0]} += $_->[7]; } map { chomp; [split(/\t/)]; } @data;
- 157 名前:nobodyさん mailto:sage [2008/03/19(水) 23:15:18 ID:???]
- このスレが相応しいかわかりませんが質問させてください。
perl 5.8.4 mysql 4.1.11 OS debian 上記の環境でお勉強目的で BBS を作成しています。 データ自体は utf8 で格納出来ているはずですが、 perl 取得した結果を print した 際に文字化けが発生してしまいます。何処を注意すべきでしょうか? # やってる内容をかいつまんで記入します use DBI;use utf8;use Encode; binmode STDIN, ":encoding(utf8)"; binmode STDOUT, ":encoding(utf8)"; $db = DBI->connect("DBI:mysql:database:localhost:$port", "hoge", "hoge"); $db->prepare("set character set utf8"); あとはセレクトして print しているだけ # DB の中身は dump したファイルが utf8 で出力されていたのでデータは utf8 のはずです
- 158 名前:nobodyさん mailto:sage [2008/03/19(水) 23:41:08 ID:???]
- >>157
OSの設定はutf-8か、日本語が表示できるシェルを使ってるか
- 159 名前:nobodyさん mailto:sage [2008/03/19(水) 23:45:37 ID:???]
- BBSなんだからHTML吐いてるんじゃないの?
それでメタタグの文字コード宣言が違うとか
- 160 名前:157 mailto:sage [2008/03/20(木) 12:29:10 ID:???]
- おはようございます。
apache を使ってブラウザ上に表示させてます。 メタタグには一応 utf-8 って記入してます。 ブラウザ側の文字コードも utf-8 になってました
- 161 名前:nobodyさん mailto:sage [2008/03/20(木) 12:38:21 ID:???]
- BOM付いてる希ガス
- 162 名前:nobodyさん mailto:sage [2008/03/20(木) 13:03:57 ID:???]
- for ($i=0; $i<6; $i++) {
for ($j=0+$i*10; $j<10+$i*10; $j++) { $box[$i][$j] = $j; }; }; print "$box[0][0]\n"; print "$box[0][1]\n"; print "$box[0][2]\n"; print "$box[0][3]\n"; print "$box[0][4]\n"; print "$box[0][5]\n"; print "$box[0][6]\n"; print "$box[0][7]\n"; print "$box[0][8]\n"; print "$box[0][9]\n"; print "$box[1][0]\n"; print "$box[1][1]\n"; print "$box[1][2]\n"; print "$box[1][3]\n"; print "$box[1][4]\n"; print "$box[1][5]\n"; print "$box[1][6]\n"; print "$box[1][7]\n"; print "$box[1][8]\n"; print "$box[1][9]\n"; 上記のプログラムを実行すると、$box[1][x]が表示されないのはなぜ?
- 163 名前:nobodyさん mailto:sage [2008/03/20(木) 13:33:56 ID:???]
- print "$box[1][0+$i*10]\n";だから。
- 164 名前:nobodyさん mailto:sage [2008/03/20(木) 13:41:13 ID:???]
- $box[$i][$j] = $j;
の行の次に print "[$i][$j]\n"; 入れて表示してみ
- 165 名前:nobodyさん mailto:sage [2008/03/20(木) 13:42:25 ID:???]
- $box[$i][$j] = $i * 10 + $j;
期待する動作はこれかな?
- 166 名前:nobodyさん mailto:sage [2008/03/20(木) 13:43:46 ID:???]
- >>163
俺には理解不能だ もうちと、噛み砕いておしえてくれ
- 167 名前:162 mailto:sage [2008/03/20(木) 13:44:57 ID:???]
- みなさん、レスありがと。
今、飯食ってるから 終わったら試してみる。
- 168 名前:nobodyさん mailto:sage [2008/03/20(木) 13:54:36 ID:???]
- >>164
意図した動きになってる。 iもjもちゃんと入れ子になって ループしている
- 169 名前:nobodyさん mailto:sage [2008/03/20(木) 13:56:38 ID:???]
- >>164
あ!ごめんなさい ちと、おかしい
- 170 名前:nobodyさん mailto:sage [2008/03/20(木) 14:02:32 ID:???]
- >>165
そうでした。
- 171 名前:162 mailto:sage [2008/03/20(木) 14:03:22 ID:???]
- 皆様、ありがとうございます。
解決できました。 PG久しぶりなんで、 頭が退化してたようです。
- 172 名前:nobodyさん mailto:sage [2008/03/20(木) 14:11:42 ID:???]
- 10 x 10 の箱に連番を入れたかっただけだけど、配列のインクリメントでちとボケてただけですね
まぁ俺もたまに似たようなミスするのであまりコケにできないwww
- 173 名前:nobodyさん mailto:sage [2008/03/20(木) 15:57:38 ID:???]
- またお願いします。
見た目の桁数を8桁に揃えたいんです。 先頭は空白にしたいのですが、下記でうまくいきません。 $len = 8 - length($num); $head = " " x $len; $txt = $head.$num; 2行目を $head = "a" x $len; とすれば、先頭に "a"は入って、桁が揃うんです。 それとも連続空白を表す記号みたいな物は あるのでしょうか?
- 174 名前:nobodyさん mailto:sage [2008/03/20(木) 16:03:28 ID:???]
- webブラウザが半角スペースをつぶしちゃうからとかじゃなくて?
- 175 名前:nobodyさん mailto:sage [2008/03/20(木) 16:12:49 ID:???]
- >>174
げ!、ソースを見たらちゃんと空白が入ってました。 ブラウザで表示すると空白がなくなっちゃう。。。 これはなんでですか?
- 176 名前:nobodyさん mailto:sage [2008/03/20(木) 16:43:28 ID:???]
- ブラウザの仕様
- 177 名前:nobodyさん mailto:sage [2008/03/20(木) 17:00:56 ID:???]
- ブラウザで桁をそろえたいなら、表示する部分のフォントを
font-family: monospace; にしたうえで空白を にすればいいです。
- 178 名前:nobodyさん [2008/03/20(木) 20:32:02 ID:cqY9pHpE]
- <pre></pre>
- 179 名前:162 mailto:sage [2008/03/20(木) 22:32:36 ID:???]
- >>178
それは、クライアントの読み込みが遅くなるので あきらめました。 にしました。
- 180 名前:162 mailto:sage [2008/03/20(木) 22:33:29 ID:???]
- & n b s p ;
に、しました。
- 181 名前:nobodyさん mailto:sage [2008/03/20(木) 23:06:14 ID:???]
- 「&nbsp;にしました」と書けばok
- 182 名前:nobodyさん mailto:sage [2008/03/20(木) 23:17:39 ID:???]
- >>181
むぅ、また、難しいことを言うな。 明日、調べます。
- 183 名前:nobodyさん mailto:sage [2008/03/20(木) 23:33:13 ID:???]
- >>182
いやいや、難しい話でなく。>>181が言ってるのは 「&nbsp;にしました」と入力して投稿すれば 「 にしました」と表示されるからスペース不要ってだけの話だと思うよ。 # でも確か専ブラによって表示が違ったはず。<エンティティ方面
- 184 名前:nobodyさん mailto:sage [2008/03/21(金) 10:02:10 ID:???]
- nbsp;でも詰まるよ
HTMLでalign=rightのほうがいいんじゃない?
- 185 名前:nobodyさん mailto:sage [2008/03/21(金) 10:37:17 ID:???]
- それはプロポーショナルたからな
桁そろえるのにHTMLのブロック要素を使わなかったり 固定幅フォントを使わないのはバカだゆん
- 186 名前:157 mailto:sage [2008/03/21(金) 11:32:07 ID:???]
- >>157 です
自己解決決しました。 SQL を実行する前に SET NAMES utf8 を実行する必要があったみたいです。 一旦 SET NAMES utf8 を実行した後で select/insert/etc... を実行しないと 化けてしまうようです。 ナゼ化けるのかは理解できていませんが・・・。 # たぶん utf-8 以外で MySQL から出力しようとして化けてしまうとは思いますが理解できていません。
- 187 名前:nobodyさん mailto:sage [2008/03/21(金) 13:27:45 ID:???]
- ふと>>144の解答で疑問に思ったのですが…
ハッシュ値の並び方が呼び出しのタイミング等で 一致しないのは知ってますが、keys %hash と values %hash の 並び方って必ず組み合わせが一致するのでしょうか?
- 188 名前:nobodyさん mailto:sage [2008/03/21(金) 13:31:00 ID:???]
- keys使ってからをvaluesを使うまでにハッシュの内容を変えなかった場合一致するよ
- 189 名前:nobodyさん mailto:sage [2008/03/21(金) 18:55:25 ID:???]
- どなたか、10進数を26進数(使える文字はAからZ)に変換するサブルーチンを教えてください
- 190 名前:nobodyさん mailto:sage [2008/03/21(金) 21:10:27 ID:???]
- >>189
my $Number10 = 1234; # 10進数 # 2進数 #my @digits = ('0','1'); # 16進数 #my @digits = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); # 8進数 #my @digits = ('0','1','2','3','4','5','6','7','8'); # 26進数 my @digits = ('A'..'Z'); print &to_base($Number10,\@digits); sub to_base { my $num = shift; my $digits = shift; my $dignum = @{$digits}; my $result = ''; while ($num > 0) { substr($result,0,0) = $$digits[ $num % $dignum ]; $num = int ($num / $dignum); } return length $result ? $result : $$digits[0]; }
- 191 名前:nobodyさん mailto:sage [2008/03/21(金) 21:33:13 ID:???]
- >>189
sub conv($){ my $alpha = 'A' ; $alpha ++ for 1 .. $_[0] ; return $alpha ; } printf "%d\t%s\n", $_, conv $_ for 0 .. 200 ;
- 192 名前:nobodyさん mailto:sage [2008/03/21(金) 21:53:29 ID:???]
- 191は取り消し
- 193 名前:nobodyさん mailto:sage [2008/03/21(金) 23:12:27 ID:???]
- my $alpha = q{A} ;
my %table2 = map { $_, $_ } 0..1 ; my %table8 = map { $_, $_ } 0..7 ; my %table16 = ( ( map {$_, $_ } 0..9 ), map{ $_, $alpha ++ } 10..15 ); $alpha = q{A} ; my %table26 = map{ $_, $alpha ++ } 0 .. 25 ; sub trans($$){ my %table = %{ shift @_ } ; my $num = shift ; my $int = keys %table ; my $res = q{} ; until( $num / $int <1){ $res = $table{ $num % $int } . $res ; $num = int ( $num / $int) ; } return $table{$num}. $res ; } for ( 0 .. 1000 ){ print $_ . qq{\t} . ( trans \%table26, $_ ) . qq{\t} . ( trans \%table2, $_ ) . qq{\t} . ( sprintf "%b", $_ ) . qq{\t} . ( trans \%table8, $_ ) . qq{\t} . ( sprintf "%o", $_ ) . qq{\t} . ( trans \%table16, $_ ) . qq{\t} . ( sprintf "%x", $_ ) . qq{\n} ; }
- 194 名前:nobodyさん mailto:sage [2008/03/22(土) 07:21:59 ID:???]
- >>190-193
ありがとうございます。 さっぱり分かりませんが、 使ってみます。
- 195 名前:nobodyさん mailto:sage [2008/03/22(土) 07:40:27 ID:???]
- >>190
教えて頂いて申し訳ないですが、 Zの次がBAになってしまいます。 Zの次はAAにしたいのです。
- 196 名前:nobodyさん mailto:sage [2008/03/22(土) 08:02:49 ID:???]
- >>195
それだったら191使えば?
- 197 名前:nobodyさん mailto:sage [2008/03/22(土) 08:39:40 ID:???]
- >>196
>>191は取り消しって書いてあるから、 試してなかったんだけど、 試したら、うまくいってると思う。 なんで、取り消したんだろう???
- 198 名前:nobodyさん mailto:sage [2008/03/22(土) 08:46:28 ID:???]
- >>197
Excel式の26進数もどきだから。
- 199 名前:nobodyさん mailto:sage [2008/03/22(土) 08:53:15 ID:???]
- >>198
よく分からんが、ありがと。 しかし、>>191の処理速度は遅いね。
- 200 名前:nobodyさん mailto:sage [2008/03/22(土) 09:14:56 ID:???]
- >>193
は、なんかエラーが出て動かないorz
- 201 名前:nobodyさん mailto:sage [2008/03/22(土) 09:21:39 ID:???]
- >>190をなんとか改造できないだろうか。
ちと、考えてみる。 でも、自分には無理な気がする。
- 202 名前:nobodyさん mailto:sage [2008/03/22(土) 09:22:10 ID:???]
- >>191は、26進数じゃない。使うな。
10進数676は、26進数では、 676/26 = 26 余り0 26/26 = 1 余り0 で、1 0 0(BAAが正しい)が、 >>191だとZAになる。 >>200 インデントの為の全角スペースを除け。
- 203 名前:nobodyさん mailto:sage [2008/03/22(土) 09:38:25 ID:???]
- >>202
ありがと。 >>191は、遅い理由も含めて、使用しないことにする。 >>191さん、申し訳ない。
- 204 名前:nobodyさん mailto:sage [2008/03/22(土) 09:44:17 ID:???]
- >>193も
zの次がbaになるorz
- 205 名前:nobodyさん mailto:sage [2008/03/22(土) 09:45:28 ID:???]
- >>203
202=191=193=俺なので気にするな。
- 206 名前:nobodyさん mailto:sage [2008/03/22(土) 10:17:00 ID:???]
- Math::BaseCalcモジュールでも使えば良いんでないか?
- 207 名前:nobodyさん mailto:sage [2008/03/22(土) 10:39:29 ID:???]
- >>206
まず、インストールのいかたが分からないので、 そこから、調べてみる
- 208 名前:nobodyさん mailto:sage [2008/03/22(土) 10:39:45 ID:???]
- インストールのしかた
- 209 名前:nobodyさん mailto:sage [2008/03/22(土) 10:54:33 ID:???]
- ppm install Math-BaseCalc
- 210 名前:nobodyさん mailto:sage [2008/03/22(土) 10:57:42 ID:???]
- インストールできました。
$calc = new Math::BaseCalc(digits => ['a'..'z']); $ans = $calc->to_base($number); これもzの次にbaが出るorz
- 211 名前:nobodyさん mailto:sage [2008/03/22(土) 11:22:42 ID:???]
- 当り前だろ、A=0 B=0扱いなんだから
おまいがやりたい事は26進とは言わない
- 212 名前:nobodyさん mailto:sage [2008/03/22(土) 11:23:35 ID:???]
- B=1だ orz
- 213 名前:nobodyさん mailto:sage [2008/03/22(土) 11:32:56 ID:???]
- うぅーん、そうなると
私が意図したものは どう書けばいいのだろうか???
- 214 名前:nobodyさん mailto:sage [2008/03/22(土) 12:54:31 ID:???]
- 出来た!実に単純だった。
my @digits = ('A'..'Z'); print &to_base($Number10,\@digits); sub to_base { my $num = shift; my $digits = shift; my $dignum = @{$digits}; my $result = ''; while ($num > 0) { substr($result,0,0) = $$digits[ $num % $dignum ]; $num = int ($num / $dignum) - 1; } return length $result ? $result : $$digits[0]; }
- 215 名前:nobodyさん mailto:sage [2008/03/22(土) 13:06:15 ID:???]
- 間違えた、こうだ。
my @digits = ('A'..'Z'); print &to_base($Number10,\@digits); sub to_base { my $num = shift; my $digits = shift; my $dignum = @{$digits}; my $result = ''; while ($num >= 0) { substr($result,0,0) = $$digits[ $num % $dignum ]; $num = int ($num / $dignum) - 1; } return length $result ? $result : $$digits[0]; }
- 216 名前:nobodyさん mailto:sage [2008/03/22(土) 14:55:10 ID:???]
- ブルートフォースアタックに使えそうなコードだなw
- 217 名前:138 [2008/03/24(月) 22:18:54 ID:wHKnZ0l2]
- お世話になっております。
スイマセン。色々試しましたがヤハリ分からないのでコチラに書き込みをさせていただきます。 「名前\t数\t」というデータ(@arrangeData)から $hash{名前}=合計数とのhashデータを作成したいのです。 # データを宣言 foreach(@arrangeData){ my @splitdata = split(/\t/); if(defined $hash{$splitdata[0]}){ }else{ $hash{$splitdata[0]} = 0; } } my $key; print "取得した数を数える。<br>"; # 取得した数を合計する。 foreach(@arrangeData){ my @splitdata= split(/\t/); foreach $key ( keys %hash ) { if($key eq $splitdata[0]){ print "$hash{ $key } ni $splitdata[1] tumari $hash{$key} += $splitdata[1];wo tasu<br>"; $hash{$key} += $splitdata[1]; print "$key : $hash{$key}<br>"; } } } とのプログラムでは何故か $hash{$key} += $splitdata[1]; print "$key : $hash{$key}<br>"; が0で数値が入りません。 どうしてでしょうか?
- 218 名前:nobodyさん mailto:sage [2008/03/24(月) 22:49:38 ID:???]
- レスあっただろ
- 219 名前:nobodyさん mailto:sage [2008/03/24(月) 22:52:29 ID:???]
- >>138
#!/usr/bin/perl -w use strict; # use Scalar::Util qw(looks_like_number); sub looks_like_number { $_[0] =~ /([0-9]+)/ ? $1 : 0 } my @arrangeData = ( "name1\t1\t", "name2\t2\t", "name3\t\t", "name4\t4\t", "name1\t10\t", "name2\t20\t", "name3\t\t", "name4\t40\t", ); my %hash; for (@arrangeData) { my($name, $num) = split /\t/; $hash{$name} += looks_like_number($num) ? $num : 0; } print "key:[$_] value:[$hash{$_}]\n" for sort keys %hash;
- 220 名前:nobodyさん mailto:sage [2008/03/24(月) 23:29:25 ID:???]
- >>219
その @arrangeData を >>217 のコードに食わせても name1 : 11 name2 : 22 name3 : 0 name4 : 44 になるんよね。"name3\tぱ\t" にしたりしても。 データのフォーマットが本人の説明と違うように思う。 という指摘が前回もあったような。
- 221 名前:nobodyさん mailto:sage [2008/03/26(水) 00:57:12 ID:???]
- 質問です。ある文字列の集合を集計して出現頻度の高い順に取り出すため、
対象の集合をそのままハッシュのキーにして値を++したんですが、 ハッシュはソートできませんよね。配列を使うしかないでしょうか。
- 222 名前:nobodyさん mailto:sage [2008/03/26(水) 01:00:59 ID:???]
- sort { $hash{$b} <=> $hash{$a} } keys %hash;
- 223 名前:nobodyさん mailto:sage [2008/03/26(水) 01:01:47 ID:???]
- >>221
質問が漠然とし過ぎてるんで、この辺一通り読んでから来て。 www.kt.rim.or.jp/~kbk/perl-5.8/perlfaq4.html perldoc.jp/docs/perl/5.8.8/perldsc.pod
- 224 名前:nobodyさん mailto:sage [2008/03/26(水) 01:05:19 ID:???]
- >>222さんのでわかりました!
>>223さんのも読んでおきます! どうもでした!!
- 225 名前:nobodyさん [2008/03/26(水) 09:29:51 ID:LilkylgS]
- CGI.pmを使ってアップロードされたファイルの途中まで読んで
そこで終わりにしたい場合はどうしたらいいでしょうか? どうも全部読むか、失敗かの選択しかないみたいなんですが。。
- 226 名前:nobodyさん mailto:sage [2008/03/26(水) 14:32:04 ID:???]
- そんな需要は稀なんだろ
一旦保存してから読み直せば?
- 227 名前:nobodyさん mailto:sage [2008/03/26(水) 14:47:06 ID:???]
- >>225
httpd が受け取る/受け取らないという話でなく、 プログラム中の処理の流れでという意味なら perldoc.jp/docs/modules/CGI.pm-2.89/CGI.pod の「ファイル・アップロード・フィールドの作成」の項
- 228 名前:nobodyさん [2008/03/26(水) 22:35:17 ID:OE9DSfjk]
- しつもん
定数なんかを別ファイルに置いてそこから取得したい。 ---const.pl--- my $x="あいうえお"; 1; ---main.cgi---(ヘッダとかは略) use strict; require "./const.pl"; print $x; とするとGlobal symbol "$x" requires explicit package nameという $xが定義されていませんエラーになります。 use strict外すと$xは空白です。 q.hatena.ne.jp/1190815879 とかを見るとどう見てもこれで正しいようにしか思えないのですが何故? 他にこんなところで迷ってる人居ないから環境の問題なんだろうか? CoLinux,perl5.8.6
- 229 名前:nobodyさん mailto:sage [2008/03/26(水) 22:45:43 ID:???]
- 同じ変数でも名前空間が異なれば別物
- 230 名前:nobodyさん mailto:sage [2008/03/26(水) 22:57:38 ID:???]
- >>228
<q cite="perldoc.jp/docs/perl/5.10.0/perlfunc.pod#item_my_EXPR_my"> my はリストアップされた変数を、囲っているブロック、ファイル、eval の中で ローカルな (レキシカルな) ものにします。 </q> www.kt.rim.or.jp/%7Ekbk/perl5.005/perlmod.html#Perl_Modules
- 231 名前:nobodyさん mailto:sage [2008/03/26(水) 23:12:52 ID:???]
- my と use strict を取っ払ってみると print されたり。
変数の局所化とか strict とは無縁になるけど。 はてなでやり取りしてる人らはそうしてるんじゃないかな。
- 232 名前:nobodyさん mailto:sage [2008/03/27(木) 01:07:20 ID:???]
- local
- 233 名前:nobodyさん [2008/03/27(木) 01:23:34 ID:R/qLdwoI]
- >>228
hoge.pm package hoge; sub kaze_hiita{ "hayaku neru" } our $x = 1; 1; foo.pl use hoge; print hoge::kaze_hiita; -> 早く寝る print $hoge::x; -> 1 $hoge::x = 10; print $hoge::x; -> 10 関数のときのみ::じゃなくて->が使えるんだぜ。 あと関数の尻尾には();って書いてあると俺はうれしい。 ハッシュで渡すとさらにうれしい。 あと、そゆのがコンフィグを一杯つかうなら 普通に Auto-Config使うべし。 memo.majide.com/index.php?%A1%DAPerl%A1%DBConfig-Auto%A4%CB%A4%E8%A4%EB%C0%DF%C4%EA%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%C6%C9%A4%DF%B9%FE%A4%DF 当然だがファイル間は文字コードは統一しとけよ それでしんだひとをみたことがあります。>俺自身
- 234 名前:nobodyさん mailto:sage [2008/03/27(木) 10:30:16 ID:???]
- >>233
説明で「 -> 1」とかを使ったら混乱するだろjk
- 235 名前:nobodyさん mailto:sage [2008/03/27(木) 12:35:04 ID:???]
- 正直すまんかった
234が責任を持って書き換えます。おながい。
- 236 名前:nobodyさん mailto:sage [2008/03/27(木) 12:36:10 ID:???]
- >>228
こうするのさ。 ---const.pl--- $x="あいうえお"; 1; ---main.cgi--- use strict; our $x; require "./const.pl"; print $x;
- 237 名前:nobodyさん mailto:sage [2008/03/27(木) 16:59:46 ID:???]
- our wwwwwwwwwwwwwwwwwwwwwwwwww
- 238 名前:nobodyさん mailto:sage [2008/03/27(木) 19:04:51 ID:???]
- ○|_|| ̄ wwwwwwwwwwwwwww
- 239 名前:nobodyさん mailto:sage [2008/03/27(木) 22:17:48 ID:???]
- oL/
- 240 名前:228 [2008/03/27(木) 23:49:16 ID:OO8NUyXN]
- >>229-236
さっぱりわからんがサンクス。調べてみる iniファイルやPHPみたいに簡単に取得できる方法はないのかのう・・・
- 241 名前:nobodyさん mailto:sage [2008/03/27(木) 23:56:27 ID:???]
- >iniファイルやPHPみたいに簡単に取得できる方法
だからモジュール紹介されてるやんけwww
- 242 名前:nobodyさん mailto:sage [2008/03/28(金) 00:17:56 ID:???]
- ワロタ
- 243 名前:233 mailto:sage [2008/03/28(金) 00:26:56 ID:???]
- >>240
感想でいいからくれ 何がさっぱりわからんと思ったか書いてくれれば分かりやすくもういっかい書くよ。 1. リンクを開いたと思うんだが、何が意味不明だと思った(全部ってのはなしで) 2. 何を作っててプログラム暦何年か教えてくれ。 スレ汚しならすまん。ちょっと個人的に技法よりも心理障壁に興味がある。
- 244 名前:nobodyさん mailto:sage [2008/03/28(金) 10:02:51 ID:???]
- 新人教育かw
- 245 名前:nobodyさん [2008/03/28(金) 15:01:30 ID:jpsDmJfA]
- ログに保存されている日付を以下のように整形するにはどうしたらいいんでしょう?
2008/03/28(金) 09:30:08 ↓ 08/3/28 9:30
- 246 名前:nobodyさん mailto:sage [2008/03/28(金) 15:33:52 ID:???]
- >>245
sub reduce_date { my @date = split /\D+/, $_[0]; $date[0] -= 2000; sprintf '%02d/%d/%d %d:%d', @date[0..4]; } print reduce_date('2008/03/28(金) 09:30:08');
- 247 名前:nobodyさん mailto:sage [2008/03/28(金) 15:36:13 ID:???]
- use strict;
my $orgdate = '2008/03/28(金) 09:30:08'; my @splitdata = $orgdate =~ /(\d{2})+/g; printf("%02d/%02d/%02d %02d:%02d:%02d", @splitdata);
- 248 名前:nobodyさん mailto:sage [2008/03/28(金) 15:46:09 ID:???]
- s{\d\d(\d\d/\d+/\d+)[^ ]+( \d+:\d+):\d+}{$1$2};
- 249 名前:nobodyさん mailto:sage [2008/03/28(金) 15:48:45 ID:???]
- 指定がないけど %02d/%d/%d %d:%02d を期待されてそうな気がする
- 250 名前:nobodyさん mailto:sage [2008/03/28(金) 15:57:20 ID:???]
- なるほど。
s{\d\d(\d\d)/0?(\d+)/0?(\d+)[^ ]+ 0?(\d+):(\d+):\d+}{$1/$2/$3 $4:$5};
- 251 名前:nobodyさん mailto:sage [2008/03/28(金) 16:45:45 ID:???]
- my @splitdata = $orgdate =~ /(\d{1,2})+/g;
my $datetime = sprintf("%02d/%d/%d %d:%d:%d", @splitdata);
|

|