トップページ⇒php
1001コメント332KB

Perlコーディング初心者質問スレ Part 51

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/07/27(木) 17:04:23ID:???
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0505nobodyさん2006/08/15(火) 21:03:52ID:???
perl でCGI.pmをつかってCGIを作っていますが、
tableの行をforeach文で増やしたい場合は、どのようにするのが適切でしょうか?
  ・
  ・

foreach (@abc){
 $q->Tr(
      $q->td($q->b("xxx")),
      $q->td($q->b("yyy"))
     )
}
  ・
  ・

のようなカタチでやってみると、うまく表示が出ません。
この描き方は間違っているのでしょうか?
ご教授お願いします。
0506nobodyさん2006/08/15(火) 21:42:27ID:???
>>505
printが抜けてるとか。
05075052006/08/15(火) 21:59:06ID:???
>>506
レスありがとうございます。

print は一番初めにかいて、
print $q->start_html,
$q->start_table,
foreach (@abc){
 $q->Tr(
      $q->td($q->b("xxx")),
      $q->td($q->b("yyy"))
     )
}
$q->end_table,
$q->end_html;
の用に利用していました。

ここで、foreach文を使うときは、foreach文のブロック部分と、それ以外の部分のところでつかうprintを分けてみたらできました。
506さんのレスで気がつくことができました。
ありがとうございます。
0508nobodyさん2006/08/15(火) 22:15:10ID:OtEfXNbt
my @arr = <FH>;
my $sca = join '',@arr;

どうしてもこんな処理をしたいんですけど、
もっとスマートに書く方法はありますか?

以前は
foreach my $line(<FH>){
  chomp;
  $sca = $line;
}
としてたんですが、
うまい方法をご教授願います
05095082006/08/15(火) 22:17:00ID:OtEfXNbt
訂正

× $sca = $line;
〇 $sca .= $line;
0510nobodyさん2006/08/15(火) 22:25:47ID:???


my $sca = do {local $/; <FH>};

これはどう?
05115082006/08/15(火) 22:47:02ID:OtEfXNbt
>>510
doは使った事がないので、今はあまり理解できてませんが参考になりました。

ありがとうございます。
0512nobodyさん2006/08/16(水) 00:10:37ID:???
read(FH, $buff, (-s FH));
これじゃなにか不具合でも?
0513nobodyさん2006/08/16(水) 00:14:34ID:???
>>508

my $sca = join("", <FH>);
05145082006/08/16(水) 00:29:17ID:???
>>512
そんな方法があったとは(゚д゚)
これに決めました。ありがとうございます。

>>513
どうしても空文字列を使うのが気に入らないので、質問させて貰ったんです。
すみません
0515nobodyさん2006/08/16(水) 00:50:21ID:???
use IO::All;で、@lines = io('file.txt')->chomp->slurp;というのもあるね。
0516nobodyさん2006/08/16(水) 10:22:03ID:????BRZ(1002)
$/ = undef;

( ^ω^)
0517nobodyさん2006/08/16(水) 10:58:24ID:???
File::Slurp使うとか
0518nobodyさん2006/08/16(水) 11:20:10ID:???
ただたんにファイルを読み込むだけなのにモジュールを使うとか、バカじゃなかろうか…
05195082006/08/16(水) 12:08:18ID:???
508です。
>>512の方法を使わせて貰ったんですが、
その後に
$sca =~ s/#command#/$hash{'command'}/g;
のような処理をしたいんですが、
マッチさせたい部分が
#com\n\tmand#
のようになってしまったらマッチできません。
$sca =~ s/\n|\t//g;
のように逃げる事も可能ですが、
さらにその後に
HTMLとして出力するのでソースが崩れてしまいます。
#command#等の種類が多いので
s/#(\r|\n|\t)?c(\r|\n|\t)?o(\r|\n|\t)?m(\r|\n|\t)?m(\r|\n|\t)?a(\r|\n|\t)?n(\r|\n|\t)?d(\r|\n|\t)?#/$hash{'command'}/g;
これじゃ酷いです。
長くてすみませんが解決策があれば教えてください。
0520nobodyさん2006/08/16(水) 12:29:16ID:???
$sca =~ s/#([^#]+)#/&cmd($1)/eg;
0521nobodyさん2006/08/16(水) 12:41:14ID:???
>>520
<a href="index.html#hoge">
とか1つでもあったら即座に破綻だなそれw
05225082006/08/16(水) 13:57:25ID:???
>>520
なるほど(゚∀゚)

>>521
コマンド名を見直せば解決できそうです。
あと、対応してないコマンドだったら&cmdからreturn $_[0];でぉkですね。
0523nobodyさん2006/08/16(水) 15:28:27ID:???
#command# っていうのがあらかじめ決まってる文字列なら
そもそもそのなかに改行やタブが入るのを
許す必要なくね?
0524nobodyさん2006/08/16(水) 16:55:37ID:4j1cx25o
183,info...
159,info...
115,info...
090,info...
061,info...
048,info...
019,info...
003,info...

という風に先頭の数字が降順に並んでいるデータに
降順のルールを破らずに任意の数字(既存の数字は除く)のデータを追加したいんですが、
なかなか良い方法が思いつきません。
新しいデータを単純に行頭に追加してデータ全体をソートする方法で良いんでしょうか?
ちなみにデータ数(行数)は500前後あります。
アドバイスよろしくお願いします。
0525nobodyさん2006/08/16(水) 17:02:45ID:???
まずやってみろって・・・
0526nobodyさん2006/08/16(水) 17:03:17ID:???
それなんて課題?
まずやってみろって・・・
05275242006/08/16(水) 17:15:20ID:???
>>525-526
すみません。
>新しいデータを単純に行頭に追加してデータ全体をソートする方法で良いんでしょうか?
というのは、「この方法で出来ますか?」という意味ではなくて、
「この方法は回りくどい方法じゃないですか?もっとスマートな方法があればアドバイス下さい」
という意味です。
自分はこの方法しか思いつかなかったんですが、
もしかしたらもっと良い方法があるんじゃないかと思って書き込みしました。
ちなみに課題等でもありませんし、コードまで書けというつもりもありません。
「こういう方法でやった方が良い」というアドバイスがあれば教えて欲しいと思っただけです。
0528nobodyさん2006/08/16(水) 17:52:25ID:???
ヒント:連想配列
0529nobodyさん2006/08/16(水) 17:56:34ID:???
なぜソートが要るのか分からん。
0530nobodyさん2006/08/16(水) 18:01:59ID:???
数字でソートするんじゃないのか?
0531nobodyさん2006/08/16(水) 18:15:18ID:???
はじめからb-treeにしておくとか
0532nobodyさん2006/08/16(水) 18:30:15ID:???
「除く」とは、取り除くってことね。
それなら納得。
0533nobodyさん2006/08/16(水) 18:34:53ID:???
reverse sort($new,@data);
これをスマートにしろと?
05345242006/08/16(水) 18:52:56ID:???
レスありがとうございます。

>>528
連想配列を使ってソート?ということでしょうか。

>>531
b-tree構造というものを初めて知りました。
これはとても役立ちそうです。
これから調べて検討したいと思います。

>>532
>任意の数字(既存の数字は除く)
は「データ中に既に存在している数字を除く任意の数字」という意味です。
分かりにくくてすみません。

>>533
「ソートする方法の中でよりスマートな方法は何ですか?」
ということではなく
「ソートする方法以外でよりスマートな方法はありますか?」
という趣旨で質問しました。
ちなみに、私はソートなら以下のような方法でやろうと考えていました。
push(@data,$new);
@data = map {$_->[0]}
sort {$b->[1] <=> $a->[1]}
map {[$_, split /,/]} @data;
0535nobodyさん2006/08/16(水) 19:18:55ID:???
>>524
更新、参照の頻度等を考慮して適したデータ構造を利用することがスマートなのだよ。
データ構造を勉強したことがなさそうだから、おとなしくソート使っとけ。
0536nobodyさん2006/08/16(水) 19:39:04ID:???
先頭の数字がユニークなら連想配列が見た目綺麗かも
0537nobodyさん2006/08/16(水) 19:41:14ID:???
>>509,519
コマンドなりフラグなりに改行などを許すこと事態が駄目でしょ
0538nobodyさん2006/08/16(水) 19:48:30ID:???
=~ s/#([a-z0-9_]+)#/$hash{$1}/g;

コマンドは英数字のみ許可すればいい
05395082006/08/16(水) 20:10:41ID:???
>>523 >>537
その通りですね。

>>538
abc#cmd_1#def#cmd_2#ghi
だった場合に#def#もマッチする気がするんですが…。

あとは自分で解決できそうです。
皆さんありがとうございました。
0540nobodyさん2006/08/16(水) 20:13:39ID:???
(゜Д゜)ポカーン
05415242006/08/16(水) 20:40:08ID:???
>>535
b-treeがらみでデータ構造について読んでみましたが
かなり奥が深いので腰を据えた勉強が必要なようですね。
そもそもデータの「構造」という視点を持っていなかったので
その辺の収穫が大きかったと自分では思っています。
少なくとも今扱っているデータ量だとソート力技でやっても
大きな問題はなさそうなので、おとなしくソートでやろうと思います。

>>536
ソートの方法の中身についてはハッシュも含めて色々検討したいと思います。


ありがとうございました。
0542nobodyさん2006/08/16(水) 20:53:48ID:???
入力フォームにcsvのユニークのデータを入力して、
該当する一行を削除するcgiを作っているのですが、
うまくいきません。
csvを開いたときの処理はこう書いています。

&fileopen(CSV,"<",$csv);
while ($line = <CSV>)
{
if($line =~ m/^"$no",/)
{
$line =~ s/$line//;
}
else
{
$line = $line;
}
print CSV "$line";
}
close(CSV);

もし、入力した$noと読み込んだ行の先頭がマッチしたら、
その行を空白にし、そうでなければ、そのままCSVに出力するという
流れなのですが、どなたかご教授お願いします。
0543nobodyさん2006/08/16(水) 21:18:04ID:???
固定長データのファイルじゃないデータファイルに対して読み書きを同時に行うこと自体が間違いかと。

open(INFH, $csvin);
open(OUTFH, '>'.$csvout);
while(my $line = <INFH>){
  chomp($line);
  if($line !~ /^$no/){
    print OUTFH . "\n";
  }
}
close(INFH);
close(OUTFH);
0544nobodyさん2006/08/16(水) 21:24:06ID:???
>固定長データのファイルじゃないデータファイルに対して読み書きを同時に行うこと自体が間違いかと。
これって、マジ?
何が問題?
05455422006/08/16(水) 21:25:08ID:???
>>543
ありがとうございます。
固定長データのファイルじゃないというのは
どういうことなのでしょうか?
アホっぽい質問ですみません。
0546nobodyさん2006/08/16(水) 21:36:30ID:???
固定長のデータって書き方が間違いだな。 1レコードが固定長のデータファイルと訂正。

ちゃんと考えて読み書きするならいいが、
現在位置から30バイト読み取り、30バイト戻って31バイト書き出せば次のデータの1バイトが欠落するよね?

で、1行ずつ読み取って処理するのにprintしちゃったら正確な次の行が読み取れませんよと。
(seekつかって確かめてみるとわかります)
0547nobodyさん2006/08/16(水) 21:40:17ID:s8jUvrs4
「2004125」と言った数字が入ったファイルがあるのですが、
これを読込んで、「2004年12月5日」という形にして表示させたいのですが、
どうやっていいか分からず困っています・・・・・・。よろしくお願いします orz
0548nobodyさん2006/08/16(水) 21:47:12ID:???
>>547
それ、1月25日と、12月5日の差はどこで見分けるの?
0549nobodyさん2006/08/16(水) 21:47:13ID:???
>>547
「2004年1月25日」の場合の数字は何?
0550nobodyさん2006/08/16(水) 21:49:13ID:???
>>548-549
失礼 orz
では「20041205」を「2004年12月05日」ってのはできるでしょうか・・・・・・?
0551nobodyさん2006/08/16(水) 21:51:23ID:???
>>546
あぁ、なるほど。
1行ずつ読み取って書き込みという処理しないから考えたことなかった。
ちなみに$noをマッチングさせる方法だと
0とか1とか入れたらどうなるんだろ。
csvデータで1コ目のセルには$noの値のみが入っているという前提に立つと
open(FH, "+< $csv") or die;
flock(FH,2);
while(my $line = <FH>){
my @tmp = split(/,/,$line);
if($tmp[0] eq $no){$line = '';}
push(@data,$line);
}
seek(FH, 0, 0);
print FH @data;
truncate(FH, tell(FH));
close(FH);
オレならこう書くかなぁ。
0552nobodyさん2006/08/16(水) 21:51:35ID:???
ツッコミまくりでワロタ
0553nobodyさん2006/08/16(水) 21:54:31ID:???
>>550
unpackに一票。
0554nobodyさん2006/08/16(水) 21:55:20ID:???
Perlに限ったことではないと思うんですが、
例えば$flag = 1のときはエラーメッセージを出して処理終了、
そうでなければ処理続行、というとき

if($flag){&error;}
その後の処理

と書くべきか

if($flag){
&error;
}else{
その後の処理
}

と書くべきか、どちらが好ましいんでしょうか?
0555nobodyさん2006/08/16(水) 21:57:07ID:???
確か前スレにも全く同じ質問があったような。
$date = "20041205";

$date =~ s/^(¥d{4})(¥d{2})(¥d{2})/$1年$2月$3日/;
or
sprintf("%d年%d月%d日", unpack("A4A2A2", $date));
0556nobodyさん2006/08/16(水) 21:58:19ID:???
>>550
if(/^(\d{4})(\d{2})(\d{2})$/){
  print "$1年$2月$3日";
}
0557nobodyさん2006/08/16(水) 21:59:04ID:???
かぶったorz
05585422006/08/16(水) 22:00:16ID:???
>>546
>>551
ありがとうございます。
はやく色々な方法でperlを使いこなせるようになりたいです。。
0559nobodyさん2006/08/16(水) 22:01:29ID:???
>>555-556
本当ありがとうございました orz
0560nobodyさん2006/08/16(水) 22:04:13ID:???
>>554
最近
$flag and die "hogehoge";
みたいな書き方が好き。
next とかは next if ($flag); が読みやすい気がする。

0561nobodyさん2006/08/16(水) 22:04:47ID:???
好みかと。

俺は、elseの処理が長くなるなら前者の方法を取るし、数行で終わるならelseの中に書いちゃう。

>550
my $aa = "20060703";
($year, $month, $day) = $aa =~ /(\d{4})(\d{2})(\d{2})/;
print $year, $month, $day;
0562nobodyさん2006/08/16(水) 22:06:09ID:???
>>561
ありがとうございました orz
0563nobodyさん2006/08/16(水) 22:08:52ID:???
>>560-561
処理の速さとかに影響があるのかと思って神経質になってましたが、
単純に可読性とか好みだけで選んで良かったんですね。

>$flag and die "hogehoge";
エラー処理を別に書かなくて良いから便利そうですね。
0564nobodyさん2006/08/16(水) 22:09:55ID:???
どうも条件文とかを後に書くやり方は慣れない

最近やっと = ? : ; がしっくり来るようになった程度だ
0565nobodyさん2006/08/16(水) 22:11:23ID:???
>>555>>556>>561
簡単な処理なのに、書き方ってたくさんあるんだな。
0566nobodyさん2006/08/16(水) 22:20:25ID:???
>>563
変数のスコープに注意すると良いと思う。
0567あぼーんNGNG
あぼーん
0568nobodyさん2006/08/16(水) 22:30:47ID:???
(^ω^ )………
0569 ◆TWARamEjuA 2006/08/16(水) 22:41:45ID:????BRZ(3010)
既に登録済みですね(呆)
0570nobodyさん2006/08/16(水) 22:59:30ID:???
アクセスするときは、/invitation以降を削除したほうがいいよ
0571nobodyさん2006/08/17(木) 06:09:44ID:???
>>564
慣れてくると快感になるよ。

というか、perlstyle にあるけど、その行で何をするか一目でわかるのが大事で、
それによって条件を前に書くか後に書くか分けるといいと思う。
0572nobodyさん2006/08/17(木) 12:25:28ID:nQZCnFuY
質問です。
変数の名前やルーチンの名前。
オブジェクトの名前。ハッシュのキー。

&form_getなどとするときにつなぎはアンダーバーとハイフンとどちらがいいでしょうか?

ハイフンはダメだったようなきも擦るのですが、
それとハッシュのキーでは逆にアンダーバーがダメでしたのでしょうか?

クォートして$form{"test_test"}とすればよかったですかな?

なんというか。アンダーバー・ハイフン戦争が始まったのです。
画像やファイルなどのつなぎをどちらにするか、
パール内での色々な名前のつなぎをどちらにするか。
そしてcss・・・

迷いが迷いwうみ。
どちらかに統一できないものかと・・
dgんwぷ2つびん2pつb2

たすけてくさい。
0573nobodyさん2006/08/17(木) 12:32:40ID:???
もの凄いのが来てるなw
多分統一は無理。どこかで折り合いをつけなされ。

Perlの中とその他を完全に切り離して考えることが一番なので、
フォルダ・ファイル名からhtmlのid属性の値などは全てハイフンでやり、
Perlの中では臨機応変に。
0574nobodyさん2006/08/17(木) 12:35:32ID:tIcJSB0O
XML::DOM使って何も無い、ファイルすらも存在しない状態からXML文書を
起こすコード書きたいんですがちょいとどうすればいいか分からず悩んでます。
存在するXMLを開いて拡張追記することは出来たんですが…
0575nobodyさん2006/08/17(木) 12:41:45ID:IXvxvsSu
uri.pmモジュールをインストールしたいのですが、
どのような手順で行えばよいでしょうか?
http://cpan.uwinnipeg.ca/search?query=uri.pm&mode=module
↑のURLまでは辿り着いたのですが、どれをどのように使えばよいのか分かりません。
0576nobodyさん2006/08/17(木) 12:42:55ID:???
perl モジュール インストール
でぐぐれ
0577nobodyさん2006/08/17(木) 12:45:46ID:???
俺の場合、ハイフンはマイナスと勘違いするから使わない
0578nobodyさん2006/08/17(木) 13:04:20ID:???
>>577
それだとcssの時面倒じゃないか?
アンダーって×だろ確か。
0579nobodyさん2006/08/17(木) 13:06:03ID:???
>>576
ありがとん
0580nobodyさん2006/08/17(木) 13:23:13ID:???
CSSとは統一しない。
統一する意味がわからん。
0581nobodyさん2006/08/17(木) 13:37:45ID:???
>>572
変数や関数の名前にハイフンを使う事はできない。
ハッシュのキーはクオートで囲む必要はない。
$form{test}としても常に大丈夫であって、strictも通る。
perl救命病棟という変な名前の本にその辺のかなりマニ
アックな話が載っている。
0582nobodyさん2006/08/17(木) 17:21:35ID:???
$form{test-test}hadamedaro?
0583nobodyさん2006/08/17(木) 17:33:16ID:???
>>580
CSSいじってperlいじってhtmlいじって。
そんなことしてるときに何かに名前をあげるときが来る。
「
う〜んこれはホゲの背景のためだからだからhoge-backとするか。
ん?ハイフン?アンダーバー?どっちだっけ?
他を見てみるか・・・
ハイフンだったな。

それじゃ画像を作るか。ん?ハイフンか?アンダーバーか?
」

なんてこともある。
0584nobodyさん2006/08/17(木) 17:39:57ID:???
全部自分かよw
理由って「悩むから」だけ?
じゃあCSSだけハイフン、あとは全てアンダーバーでOK
0585nobodyさん2006/08/17(木) 18:09:23ID:???
>>584
そうなるとhtmlで違和感を覚える。
nameはアンダーバーなのにidやclassだけハイフンっておかしくねえか?

ってね。
0586nobodyさん2006/08/17(木) 18:10:41ID:???
strictとか好きな人でたまにいるのは、
全てかんええええええwwwww

マジでウエkルwwwwwww
0587nobodyさん2006/08/17(木) 18:12:52ID:???
hogeBackImgっていう手もあるぞ
0588nobodyさん2006/08/17(木) 18:31:57ID:???
>>585
違和感だけの話なら自分ルールを決めるしかない。
現状共通のルールは無い。
スレ違い。
0589nobodyさん2006/08/17(木) 18:51:21ID:???
>>585
じゃあいっそ tr/-/_/ ってやれば?(´・ω・`)
0590nobodyさん2006/08/17(木) 19:38:03ID:???
PerlはelsifなのにJavaScriptはelseifなのもどうにかしたい

とか言い出しそうだな。
0591nobodyさん2006/08/17(木) 20:07:10ID:????2BP(223)
PHPもelseif
0592nobodyさん2006/08/17(木) 20:08:40ID:???
elif
elsif
elseif
else if
0593nobodyさん2006/08/17(木) 20:28:56ID:tIcJSB0O
XML::XSLTを使ってXMLを変換しようとしているのですが、
my $xslt = XML::XSLT->new("hoge.xsl");

これだけで

Use of uninitialized value in subroutine entry at C:/Perl/site/lib/XML/Parser/Ex
pat.pm line 474.
Error executing run mode 'install': Error while parsing:
no element found at line 1, column 0, byte -1 at C:/Perl/site/lib/XML/Parser.pm
line 187

C:/hoge.xsl at C:/Perl/site/lib/XML/XSLT.pm line 1507.
at index.cgi line 7

とエラーが出て動く気配がありません。
ちなみにXSLの中は以下のようになっています。

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xml:lang="ja">
<xsl:template match="/contents">
hoge
</xsl:template>
</xsl:stylesheet>

ためしにXSLの中を全部消してみてもダメでした。XSLファイル自体を
削除するとまた違うエラーが出たのでとりあえず読めてはいると思います。

すみません、ここで丸一日悩んでいるのですがどうすればうまいことサーバサイドで
XMLを変換できるのか、どうかご教授お願いします。
0594nobodyさん2006/08/17(木) 22:22:55ID:???
CSSはどこかで旧ブラウザを切り捨てるしかない。今から新しく作るサイトでNN4に対応してるサイトなんてほとんどないだろう。
_と-なんて気にする必要ない。
0595nobodyさん2006/08/18(金) 11:29:18ID:???
>>572
安心してください。あまり悩む必要はありません。
通常 Perl の識別子として使えるのは /[\w][\w\d]*/ にマッチする文字列だけだからです。

変数名、関数名、パッケージ名、クォートを省略したハッシュキーにはそういった文字列が要求されます。
裸の "-" はソースコード中のトークンを分割してしまい、perl はそれを「マイナス演算子」としてパースするでしょう。

従ってそれほど迷うことができる局面は多くありません。少なくとも Perl コード中では。
0596nobodyさん2006/08/18(金) 13:49:32ID:???
モジュールを作っているのですが、マルチプルインスタンスを使う必要がないとわかっているものは非OOPで作った方がいいのでしょうか。
0597nobodyさん2006/08/18(金) 14:42:19ID:xIt7iz8d
perlのcgiを使って他サイト(NOT管理下)のページを取得して、自分の好きな文字列を取得したいんですが、
詳細が乗っているサイト若しくはやり方を教えてください。
内容としては翻訳サイトのページ翻訳のようなことがしたいです
宜しくお願いします
0598nobodyさん2006/08/18(金) 14:43:32ID:???
>>597
おまえいい加減にしろ。
何個マルチしてんだボケ。
解答かえってきてるんだからまずはそれ嫁馬鹿。
0599nobodyさん2006/08/18(金) 14:47:31ID:xIt7iz8d
>>598
今レスしてきました。
こちらにも解決した旨書こうと思ってたところです、遅くなってすいません。
別にマルチするつもりはありませんでした、回され続けたもので・・ほんとスイマセン。。
>>597の質問は解決しました
ありがとうございました
06005822006/08/18(金) 16:47:54ID:???
お〜い
0601nobodyさん2006/08/18(金) 17:14:01ID:???
ちょっとしつもんー。

# A.pm
package A;
use CGI;
1;

# B.pm
package B;
use A;
@B::ISA = qw(A); # この1行はなくても動くけど、実際の用途で使ってるので。
my $Q = CGI->new();
1;

こんなことやってもいいのかな?
つまり、B.pm で use CGI; って入れなくても、A で use して require してるから動くし警告も出ないんだけど、
これってお行儀よくないのかな? ってことなんだけど。
0602nobodyさん2006/08/18(金) 17:35:23ID:???
動くけど行儀はよくない。
0603nobodyさん2006/08/18(金) 18:57:28ID:lccc8Mku
ハッシュのキーに今までずっとハイフン使ってたけど、
アンダースコアならクォートしなくてもいいし、
もしかして、perlに関する名前系には全てアンダースコアがいいの?

でもなんでだろ。なんでハイフンを今まで使ってたんだろ。
何か理由があるはずだけどな。
0604nobodyさん2006/08/18(金) 19:08:57ID:???
> perlに関する名前系
意味が分かりません。
■ このスレッドは過去ログ倉庫に格納されています