トップページphp
981コメント337KB

くだすれPerl(超初心者用)3

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/03/31(火) 22:20:27ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。

前スレ
くだすれPerl(超初心者用)2
http://pc11.2ch.net/test/read.cgi/php/1204488452/

関連スレ
Perlについての質問箱 39箱目
http://pc12.2ch.net/test/read.cgi/tech/1234181856/
Perlコーディング初心者質問スレ Part 59
http://pc11.2ch.net/test/read.cgi/php/1234752149/
【Perl上級者コーナーPart01】
http://pc11.2ch.net/test/read.cgi/php/1024741312/
03813552009/10/13(火) 23:54:32ID:???
>>380
実際のコードではこうなってますけどね。
@{ $entity_map }{ @$col_list } = @$result_list;

生の配列/ハッシュってのは、『インタプリタが変数展開するもの』ですね。
my @arr1 = (1, 2, 3);
my @arr2 = (4, 5, 6);
my @array = ( @arr1, @arr2 );
的な間違いを仕様で定めて阻止する方が有意義な制限だとは思いませんか?
03823552009/10/14(水) 00:07:22ID:???
> 「生ハッシュ」ってのも何だそれ?
> 普通のHASHの事ならforで回せるぞ?望み通りの結果にはならんが。
> perl -Mstrict -Mwarnings -le 'my %h = 1..10 ; for ( %h ){ print $_ }'
ハッシュ自体を回すのでなく、
for my %map ( @list ) {}
これが出来ないという意味ですね。
03833722009/10/14(水) 00:43:00ID:???
>>381-382
なんだこれ。
> 的な間違いを仕様で定めて阻止する方が有意義な制限だとは思いませんか?
フラットにするのはPerlの仕様なんだから、Larryにでも提言しろよ。
アホらし。
0384nobodyさん2009/10/14(水) 00:55:09ID:???
>>383
そのLarryはすでに解決策を提示しているのだが
03853722009/10/14(水) 00:56:36ID:???
>>384
5.xで、か?
0386nobodyさん2009/10/14(水) 00:59:59ID:???
生と生じゃない配列/ハッシュの違いをくれよw
ここは超初心者用なんだぜ?

たとえば

not 生 $test = { 'a' => 1, 'b' => 2};
生 %test = ( 'a' => 1, 'b' => 2);

みたいな書き方でお願いします。
0387nobodyさん2009/10/14(水) 01:02:16ID:???
>>367

[] 配列
{} ハッシュ
() これ何?
0388nobodyさん2009/10/14(水) 01:06:04ID:???
Perlのオブジェクトは所詮、blessされたリファレンス
0389nobodyさん2009/10/14(水) 01:25:13ID:???
リファレンスに入れると関数の副作用が働かない場合があるから使えるときは普通のハッシュ使えばいいと思うよ
0390nobodyさん2009/10/14(水) 01:25:29ID:???
老害かゆとりか知らんが、言葉尻を捕まえて自分の無知晒してるだけだと気づけよ。
0391nobodyさん2009/10/14(水) 01:59:07ID:???
だから本気で知らないから解説をお願いしてるのに
じゃなきゃ 超初心者用スレ に住んでません orz
03923802009/10/14(水) 02:09:57ID:???
355氏は、次から脳内用語じゃなくきちんとperlの用語で書いてくれ。
355 perl
「生配列」 => 配列、単次元の配列、etc...
「配列」 => 多次元配列、Array of Hashes、etc...
「生ハッシュ」 => ハッシュ、etc...
「ハッシュ」 => 多次元ハッシュ、Hash of Arrays、etc...
# 355氏の意図とは違うかも知れんが。
少なくとも以下のURLで使われてる言葉の範囲内で説明してくれたら助かる。
ttp://www.kt.rim.or.jp/~kbk/perl5.005/perldsc.html
% perldoc perldsc
そしたら、似た用語を持ち出されて混乱する事も少なくなるでしょうから。

>>381>>382に関しては、、、「超初心者」じゃなさそうだから書く。
アホかと。
後出しもたいがいにしろ。
手前のくだらん妄想に付き合わせんじゃねえよ、ボケ。
0393nobodyさん2009/10/14(水) 07:58:14ID:???
リファレンス使えってことだと思うが。
0394nobodyさん2009/10/14(水) 09:18:29ID:???
Perl5.005って、父さんそんな古いものを。
0395nobodyさん2009/10/14(水) 10:32:56ID:???
>>393
ただそれだけなんですか?


テストプログラム作りたいだけなのに、
仰々しく組みたくないから、今のスタイル
でいいや
0396nobodyさん2009/10/14(水) 14:16:17ID:???
リファレンス使うだけなのに、「仰々しく」とか。
こういう勉強を嫌う怠惰な姿勢が、
保守性の悪いコードを生むんだろうね
0397nobodyさん2009/10/14(水) 18:46:52ID:???
何自分の妄想に酔ってんの?
0398nobodyさん2009/10/14(水) 20:27:19ID:???
妄想も何も、>>392のリンク先自体がリファレンスを使ってるだろうが、
そのデータをさらにラップする必要が出てきたら、
結局リファレンスにするんだから最初からやっとけっつぅ話だ。
0399nobodyさん2009/10/14(水) 20:56:13ID:???
>こういう勉強を嫌う怠惰な姿勢が、
>保守性の悪いコードを生むんだろうね
これが妄想だって言ってんだけど…。
当ってるのかも知れんがね。
自分の心の中で思ってりゃ良い事でしょ?
0400nobodyさん2009/10/14(水) 20:59:03ID:???
@{ $entity_map }{ @$col_list } = @$result_list;
これのデータ構造とかを考えた上で保守性万全だと思うなら病院に行け。
適材適所でリファレンスは使えば良いだけだ。
0401nobodyさん2009/10/15(木) 20:28:53ID:???
適材適所には同意するが、
他人が利用する可能性が少しでもあればリファレンスかな。
正直、規模によるとしか言えんし、普段から使っておいても損でもない。

日曜プログラマや趣味グラマには不要かw
0402nobodyさん2009/10/15(木) 21:15:52ID:???
KY
0403nobodyさん2009/10/16(金) 22:02:15ID:???
>>400
ちなみにお前さんならどう書くのかね。
批判するだけだら、未就学児童にでもできるが。
0404nobodyさん2009/10/16(金) 22:50:03ID:???
こういう能無しにはraw dataとかも通じないんだろうな
0405nobodyさん2009/10/21(水) 01:54:57ID:???
データ不備によるプログラムのエラーに関してですが、

データは TSV で1行あたりタブ3つで、データが4つになるわけですが、
TSV を書くときにタブを2つしか書かずにプログラムを走らせて

my ($tmpZIP, $tmpADDRESS, $tmpTEL, $tmpFAX) = split(/\t/, $line);

の様に split すると、$tmpFAX は undef になってしまうため、
$tmpFAX に対して正規表現つかったり、.= などで文字列を連結させたりすると
Use of uninitialized value というエラーが Apache ログに溜まっていきます。

これを防ぎたいのですが、データ数が足りないまま split したときに undef では無く '' を入れることは出来ないのでしょうか?

今は

my ($tmpZIP, $tmpADDRESS, $tmpTEL, $tmpFAX) = ('', '', '', '');
($tmpZIP, $tmpADDRESS, $tmpTEL, $tmpFAX) = split(/\t/, $line);

とやっています。
0406nobodyさん2009/10/21(水) 02:01:01ID:???
$line .= "\t\t\t";
0407nobodyさん2009/10/21(水) 05:05:56ID:???
>>404
残念!だったな。
俺は、4代前から、東京生まれの東京育ちの、正真正銘の日本人だ。
お前こそ、朝鮮で生まれて、朝鮮で育った、正真正銘のチョンだろうが。
0408nobodyさん2009/10/21(水) 07:18:11ID:???
>>405
こんなんでどうでしょうか?

my ($tmpZIP, $tmpADDRESS, $tmpTEL, $tmpFAX) = ( split(/\t/, $line), (q{})x4 );
0409nobodyさん2009/10/21(水) 14:00:25ID:???
あ〜、空の配列をケツに連結するって方法か
とりあえず、この方法を使わせていただきます m(_ _)m
0410nobodyさん2009/10/21(水) 14:01:45ID:???
@nullarray = split(/\//, '//////////');
(split(/\t/, $line), @nullarray);
もアリかな?
試してないけどw
0411dvKqigko2009/10/23(金) 01:22:05ID:???
Imagine that nobody harbors racial animus or prejudice. ,
0412nobodyさん2009/10/23(金) 01:31:01ID:???
>>405
もう遅いかもしれんけどこんな感じでどうよ
my ($tmpZIP, $tmpADDRESS, $tmpTEL, $tmpFAX) = map{defined $_ ? $_ : ''} (split(/\t/, $line))[0..4];
0413rDiWXwyPC2009/10/23(金) 22:37:05ID:???
The reading from original sources evolved into the reading of glosses on an original and then more generally to lecture notes. ,
0414nobodyさん2009/10/25(日) 12:37:08ID:???
フレームワークというのものを調べているとディスパッチャーという言葉をみかけます。
ディスパッチャーとは何なんでしょうか?
0415nobodyさん2009/10/25(日) 13:12:15ID:???
>>414
主処理の分岐を行うものと考えれば良いかと。
0416nobodyさん2009/10/25(日) 14:00:01ID:???
>>415
なるほど。
とりあえず理解したことにしておきます。
0417nobodyさん2009/10/25(日) 14:06:46ID:???
Q. dispatcher とはなにか。参考書等を見ずに説明しなさい。
0418nobodyさん2009/10/25(日) 16:54:48ID:???
my $setting = {
    'a' => 'AAction',
    'b' => 'BAction',
};

BEGIN {
    require $setting->{ $hoge };
    $setting->{ $hoge }->new();
}

※$hogeにはあらかじめ規定した、処理の分岐条件が格納されている。
主な部分はこれだけで実現できる。
new以外で処理を行いたいのであれば、サブルーチン名も設定に格納すれば吉。
フレームワークを作りたいのであれば、設定をYAML等に逃がせばよいかと。
0419nobodyさん2009/10/26(月) 02:45:50ID:4VfuwmZ6
正規表現なんだけれども。

マッチさせる対象を
テスト1:10点 テスト2:20点 テスト3:25点 テスト4:20点
にした時テスト3の点数を取り出したいんだ。

テストXの値は不定の文字列なので、

m/\D+\d+\D+\d+\D+(\d+)/;
こう書いたのだけれど$1にはテスト3の点数に加えて4の点数もくっ付いてきちゃうんだ。
何かいい書き方ありませんか?
0420nobodyさん2009/10/26(月) 02:47:28ID:4VfuwmZ6
あ、あとテスト4は存在しないレコードもあるという条件です。
0421nobodyさん2009/10/26(月) 03:18:05ID:???
どうやら対象の帳票の仕方がまずかったようです。
m/\D+\d+\D+\d+\D+(\d+)/; で問題なく動きました。
0422nobodyさん2009/10/26(月) 23:59:44ID:???
>>421
それホントに動いてる?
"テスト2" の 2 を取ってきてない?

そのうちどうせ他の点も必要になるだろ?
関数化すれば便利だと思うよ

sub parseTestData($){
    my($str, @pairs, %ret);
    $str = $_[0];
    $delimitor1 = '\s| ';
    $delimitor2 = ':|:';
    @pairs = split /\s| /, $str;
    foreach my $pair(@pairs){
        my($key, $value) = split /:|:/, $pair;
        $ret{$key} = $value;
    }
    return \%ret;
}
my $result = parseTestData("テスト1:10点 テスト2:20点 テスト3:25点 テスト4:20点");
print $result->{"テスト3"}, "\n"; #=> 25点

# 数値だけ取り出したい場合
$result->{"テスト3"} =~ /(\d+)/;
print $1, "\n"; #=> 25
0423nobodyさん2009/10/27(火) 05:25:43ID:???
多分書き直すつもりで忘れたんだろうけど
$delimitor1, $delimitor2 が浮いてるな
0424nobodyさん2009/10/27(火) 06:07:08ID:???
ちょっと簡略化
sub parseTestData2($){
  return {split(/:|:|\s/,$_[0])};
}
機能はほぼ一緒のはずだ
0425nobodyさん2009/11/01(日) 04:30:15ID:???
>>424
全角空白が考慮されてなくね?
0426nobodyさん2009/11/02(月) 17:05:20ID:???
またまたフレームワーク関連の言葉なのですが、トランザクション(コンテキスト)オブジェクトとは
どういったものなのでしょうか?
0427nobodyさん2009/11/03(火) 05:14:37ID:???
どこで見たのかくらいは明記してくれよ
質問についてはトランザクションについて調べれば後は分かるだろ
0428nobodyさん2009/11/05(木) 06:37:41ID:???
>>425
use utf8すれば問題ない
0429nobodyさん2009/11/08(日) 11:29:12ID:OaYz9VK0
while(recv()){

recv関数は受信失敗したとき未定義ち返すはずなのに
ループ抜けないのはなぜ?
0430nobodyさん2009/11/08(日) 11:56:56ID:???
エスパーさん出番です。
ていうか本当に未定義値返ってる? 単発で実行したらどうなる?
0431nobodyさん2009/11/08(日) 14:38:16ID:???
受信なら返らないで待ち状態になる場合あるからタイムアウト処理しないと
0432nobodyさん2009/11/08(日) 19:36:21ID:???
失敗時はrecvで代入された変数も未定義になってるみたいだ
どうも腑に落ちないがこれで事故解決と
while(recv(S,$r,4089,0) && $r){
0433nobodyさん2009/11/09(月) 16:34:15ID:???
なに言ってるか結局分からなかったけど良かったね。
0434nobodyさん2009/11/09(月) 22:11:31ID:???
ansは異なる一つ以上の素数の和
但し、ans<=100

を満たすansを昇順に並べるというプログラムはどう組めばいいのでしょうか
0435nobodyさん2009/11/09(月) 22:28:03ID:???
素数の算出のし方がわからんのか?
昇順の並べ方がわからんのか?
perl自体がわからんのか?
0436nobodyさん2009/11/09(月) 23:09:55ID:???
質問の仕方が悪い。それじゃどこからどう見ても宿題だ。
正しい質問の仕方は

 異なる一つ以上の素数の和で成り立ち100以下という条件を満たす整数の求め方なんかお前らに分からんだろ?
 悔しかったら明日までに解いてみろよ屑ども。

う〜ん唐突だな
04374362009/11/09(月) 23:14:53ID:???
・・・まさか同様の趣旨のスレが存在したとは思いもしなかった436であった
http://pc11.2ch.net/test/read.cgi/php/1158647441/l50
0438nobodyさん2009/11/10(火) 07:41:59ID:???
>>434
1から100までのすべての整数は
異なる素数の和になってるから
答えは
1..100
で良いんじゃないw
0439nobodyさん2009/11/10(火) 11:02:51ID:???
1を素数に含めてよいものかどうか。
0440nobodyさん2009/11/10(火) 23:44:02ID:???
>>434
組合せで強引に解いてみた。
1、4、6以外は解があるみたい。


use List::Util qw(sum);

my @primes = grep { (1 x $_) !~ /^(11+)\1+$/ } (2..100);

my %ans;
for my $r ( 1..3 ) {
my @result = combination($r, @primes);
for my $combi (@result) {
my $sum = sum @$combi;
push @{ $ans{$sum} }, $combi if $sum <= 100;
}
}

for my $sum ( sort {$a <=> $b} keys %ans ) {
my @breakdown = map join('+', @$_), @{ $ans{$sum} };
print "$sum (". join(q{, }, @breakdown) . ")\n";
}
0441nobodyさん2009/11/10(火) 23:44:48ID:???
続き

sub combination {
my ($r, @data) = @_;
my $n = @data;

my @result;
combinatorial( $n, $r, 0, [], \@data, \@result );

return @result;
}

sub combinatorial {
my ($n, $r, $pos, $combi, $data, $result) = @_;

if ( $r == 0 ) {
push @$result, [ @$combi ];
return;
}

for my $i ( $pos..$n-$r ) {
push @$combi, $data->[$i];
combinatorial( $n, $r-1, ++$pos, $combi, $data, $result );
pop @$combi;
}
}
0442nobodyさん2009/11/11(水) 02:32:45ID:???
位置が素数じゃないことを指摘されて恥ずかしかったので、
俺も書いてみた。
素数を探すアルゴリズムを書くのがめんどくさかったので
ウェブからコピペしたのは内緒だ。
(上の人のはよくわかんなかったし)

#!/usr/bin/perl
use strict;
use warnings;
use List::Util q/sum/;

my @primes = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97);
@primes = reverse @primes;

my $ncomb = 2**(scalar @primes);
my %outhash = map{$_,0}1..100;

## you don't have to run until $ncomb
## a thousand is enough to get the answer of 1, 4, 6
for (0..1000){
my $bin = sprintf "%025b", $_;
my @comb = split("",$bin);
my @list = map{$comb[$_]*$primes[$_]}0..24;
if (sum @list <=100){$outhash{sum @list}=1};
}

for(sort {$a<=>$b}keys %outhash){print $_,"\n" unless $outhash{$_};}
0443nobodyさん2009/11/11(水) 12:07:52ID:???
ニート趣味プログラマーなんで、さらに改良してみた。
総当りで調べているので、完全な証明にもなっていると思う。

汎用性を持たせて、1つ以上の素数の和だけでなく、2つ、3つ以上とかにもできるようにした。

use List::Util qw(sum first);

# 調べる最大数値(100で質問者の題意)
my $max_num = 100;

# 和にするのに必要な素数の数(1で質問者の題意)
my $num_of_primes = 1;

my @primes = grep { (1 x $_) !~ /^(11+)\1+$/ } (2..$max_num);

my %ans;
for my $num ( $primes[0] .. $max_num ) {
my $max_index = first { $primes[$_] >= $num } 0..$#primes;
if ( not defined $max_index ) { $max_index = $#primes }

my @combi = find_combi( $num, @primes[0..$max_index] );
push @{ $ans{$num} }, @combi if @combi;
}

for my $sum ( sort {$a <=> $b} keys %ans ) {
print "$sum (". join('+', @{ $ans{$sum} }) . ")\n";
}

my @num_excluded = grep { not exists $ans{$_} } 1..$max_num;

print "\n$num_of_primesつ以上の素数の和で表\せない数値\n";
print join q{, }, @num_excluded;
0444nobodyさん2009/11/11(水) 12:09:50ID:???
続き

sub find_combi {
my ($num, @primes) = @_;

for my $r ( $num_of_primes .. @primes ) {
my @combi_list = combination($r, @primes);
for my $combi (@combi_list) {
return @$combi if $num == sum @$combi;
}
}

return;
}


sub combination と sub combinatorial の中身は、>>441と同じ。
0445nobodyさん2009/11/12(木) 08:40:06ID:???
宛先メールアドレス(ex. foo@example.com)、件名、メール本文を与えたら、smtpサーバーを介さずに、
MXレコードを引いて、宛先のメールサーバーに直接メールを送るモジュールはないでしょうか?

レンタルサーバーで使いたいので、pure perlでお願いします。
0446nobodyさん2009/11/13(金) 12:13:36ID:???
スパマーは今すぐ死ね
0447nobodyさん2009/11/13(金) 12:30:24ID:???
>>445
Net::Smtp
0448nobodyさん2009/11/21(土) 23:38:15ID:twpezRr5
fedora9に付属しているgeditのプラグインが最近使えませんが、どうすれば良いでしょうか?
プラグイン設定で追加しようとしても灰色になって選択できません。
0449nobodyさん2009/11/22(日) 05:57:19ID:???
>>448
つvi
0450nobodyさん2009/11/23(月) 22:45:22ID:g+VEp3/W
通常、サブルーチンを使うとき、途中で終了するように
「exit」を入れています。
sub a { }
exit;
sub b { }

これをライブラリとして使用する場合、別のcgiから呼び出すと、
途中で終了してしまいます。
どのように動作を区切っておけばよいのでしょうか?
0451nobodyさん2009/11/24(火) 01:28:07ID:???
>>450
まったく何を言ってるのか分かりませんが、
exit;
の行を消せば良いんじゃないでしょうか

サブルーチンを使うとき、途中で終了する目的はなんでしょうか?
そもそも、exit以降にサブルーチン定義しかなかったら、
exitが有っても無くても動作は変わらないような気がするのですが。

0452nobodyさん2009/11/24(火) 01:50:27ID:???
>>449
geditを使わずviで編集しろという事でしょうか?
0453nobodyさん2009/11/24(火) 10:33:29ID:???
>>451
初心者で済みません、基本が分かってないのだと思います。
サブルーチン一つに変えて質問します。

例えば上から下に流れていって、
コード1・・・・
& a;
コード2・・・・
sub a{ }

コード2の部分で終わりたい場合に、
exit;がなかったら最後まで実行するのではと思うのですが?
0454nobodyさん2009/11/24(火) 10:54:55ID:???
>>453
ライブラリは基本的には関数定義群
自分が何をやっているのか分からなければ、関数化できないような余計な処理をサブルーチンの外に書いてはいけない
関数は定義しただけでは実行されないため、exitはいらない
多分main.plを流用しようとしたから余計な処理が入ってるんだろうが、それなら関数のみ抽出したものを新たに作る必要あり
それから.pl形式のライブラリは時代遅れ
パッケージ(.pm)の作り方&使い方を学ぶべし
0455nobodyさん2009/11/24(火) 22:33:31ID:???
>>453 オブジェクト指向分かってるのか……
0456nobodyさん2009/11/24(火) 22:40:50ID:???
おいおい…
0457nobodyさん2009/11/25(水) 00:02:19ID:4vaBixa8
ヽ('ー`)ノ あー頭が溶けそう
0458nobodyさん2009/11/25(水) 04:47:50ID:???
>>453
sub a{}を"実行する"っていうのはどういう意味ですか?
サブルーチンが定義されると何か困ることでもあるんですか?
なんなんですか?
04594532009/11/25(水) 11:53:02ID:???
色々と有り難うございました。
ちょっと勘違いしておりました。
0460nobodyさん2009/11/25(水) 12:16:55ID:???
あんま責めてやんなよ、ここは超初心者スレだぞ
全てはpackage mainのグローバルスコープで命令が動いてしまうperlが悪いんや

でもそのおかげでワンライナー美味しいです
0461nobodyさん2009/11/25(水) 12:35:19ID:???
ライブラリを作る前にオブジェクト指向を理解してね
穴が開くこともあるから
04624532009/11/25(水) 12:52:24ID:???
すみません、穴が空くとはどういう場合がありますか?
一つでいいですので例をお願いします。
0463nobodyさん2009/11/25(水) 13:14:26ID:???
例か。
どんなライブラリかは知らないけど、コンストラクタを作っているなら、パッケージ内の変数に外から直接アクセスすることで予期せぬ動作を招くことがある
0464nobodyさん2009/11/25(水) 14:47:15ID:???
痛いヤツが1人いるな…
0465nobodyさん2009/11/25(水) 17:11:08ID:???
ライブラリって言っても、オブジェクト指向じゃなくて、
Exporterを使う伝統的なライブラリも、
あれはあれでけっこう良いよね。

サザエさん的な良さがある気がする。
のんびり和むっていうか。
0466nobodyさん2009/11/25(水) 21:40:04ID:???
一人を除いて、オブジェクト指向の話はしてない。
そもそもオブジェクト指向を理解してたら、あんなクソレスは付けられん
0467nobodyさん2009/11/25(水) 21:50:52ID:???
はい次の質問者さんどうぞー
0468nobodyさん2009/11/26(木) 15:00:47ID:???
FFA系のCGIゲーム「MS Tactics」というものがありますが
こういった物を作るにはどの言語を使うのが最適なのでしょうか?

ケースバイケースとか○○ならxxとか自分の知ってる言語が最強とか
よく分からないので、具体的な目的をあげました

もしかすると結論は「何でもいい」のかもしれませんが
□□ならこういった点が良いというのを教えて下さい

制作者
ttp://laggard.maxs.jp/ms_tactics.htm

稼働例
ttp://2ch.guda-guda.net/cgi-bin/mst/
0469nobodyさん2009/11/26(木) 15:08:24ID:???
>>468
スレ違い。
△▲ WebProg 初心者の質問 Part21 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1257701535/
このあたりで聞いてくれ。
04704682009/11/26(木) 15:18:47ID:???
失礼しました。移動します

>>469
ご案内ありがとうございます
0471nobodyさん2009/11/26(木) 18:01:55ID:???
print "Content-type: text/html\n";

上記「Content-type」の頭文字は大文字じゃないとダメなんでしょうか?
0472nobodyさん2009/11/26(木) 18:05:27ID:???
HTTPの仕様で決まっているから、大文字じゃないと駄目なんじゃない?
04734712009/11/27(金) 10:26:44ID:???
>>472大文字に決まってたんですね。ありがとうございました
0474nobodyさん2009/12/02(水) 13:12:52ID:???
C++、Python、PHPが少し書けるレベルの者なのですが、
オライリーの初めてのPerlはレベルが高いでしょうか?
お薦めの入門書があったらお願いします
0475nobodyさん2009/12/02(水) 13:15:41ID:???
>>474
というかそれが読めないと全く話にならない。
0476nobodyさん2009/12/04(金) 13:50:17ID:???
>>474
C++、Python辺りがかけるならいきなりラクダに行って
大丈夫だと思う。perldoc公開されてるから軽く読んでみ。
0477nobodyさん2009/12/05(土) 00:52:22ID:B4BYeir+
>>474
ラクダ本から「すぐ分かるオブジェクト指向Perl」へ進むのが
現状ではベストだと思う
0478nobodyさん2009/12/06(日) 08:28:13ID:???
んで「モダンPerl入門」っつー流れかな。
その間に「入門Git」とかも買ってプロジェクト管理にも
慣れておくといい。
0479nobodyさん2009/12/06(日) 11:02:28ID:???
牧さん宣伝乙。
0480nobodyさん2009/12/15(火) 02:38:41ID:???
ヒアドキュメント内にhtmlを記す場合には「"」などを\でエスケープしないといけないのでしょうか?
そのまま記してもエラーは出なかったのですが、大丈夫なのか心配に。。。
0481nobodyさん2009/12/15(火) 02:54:10ID:???
ヒアドキュメントは " をそのまま書いても OK
ただ、ヒアドキュメントはソースが汚くなりやすいので、外部の HTML を読み込んで出力させたほうがいいかなと思う。
■ このスレッドは過去ログ倉庫に格納されています