[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/09 21:18 / Filesize : 139 KB / Number-of Response : 547
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Perlについての質問箱 35箱目



1 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:01:21 BE:176880454-DIA(100004)]

"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、
Perlの奥深さについて皆で語り合い、追求してまいりましょう。

CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
( WEBプログラミング板 pc11.2ch.net/php/ )

CGIの質問は答えが Perlと全然関係ない話に帰着する場合が
多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。

www.perl.org/get.html
● 2008/04/20 現在の最新版: 5.10.0
● 2008/04/20 現在の開発版: 5.9.5

▼ 前スレ
Perlについての質問箱 34箱目
pc11.2ch.net/test/read.cgi/tech/1199977642/


267 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 19:34:03 ]
>>265
egじゃなくてeだから、この場合は先頭だけだろう。

268 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 21:48:26 ]
お、eをgと見間違えたわ。

269 名前:デフォルトの名無しさん [2008/05/29(木) 21:59:34 ]
いーじーさんにつーれられーてー・・・
いや何でもない

270 名前:デフォルトの名無しさん [2008/05/29(木) 22:23:27 ]
逝っちゃった

271 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 23:56:31 ]
横浜港 乙

272 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 03:29:45 ]
港のヨ〜(ry

273 名前:デフォルトの名無しさん [2008/05/31(土) 19:56:52 ]
cpan起動出来なくなりました。

#cpan
Unable to get Terminal Size. The TIOCGWINSZ ioctl didn't work.
The COLUMNS and LINES environment variables didn't work. The resize program didn't work.
at /usr/local/lib/perl5/site_perl/5.8.3/i386-freebsd/Term/ReadKey.pm line 362.
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.3/Term/ReadLine/Perl.pm line 63.

とエラーが出ます。
恐らく、perlのバージョンアップした際に不具合が生じているのかと思うのですが・・・。
ネットで解決法を探すも情報がほとんどなく手がかりもつかめません。

perl v5.8.3
OS FreeBSD 4.2-R

助けて下さい。お願いします。

274 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 20:09:04 ]
もっかいCPANインスコしなおせばいいじゃん

275 名前:273 [2008/05/31(土) 21:57:38 ]

インストールしなおしてみましたが、ダメでした。
同じ症状です・・・。トホホ。



276 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 21:58:41 ]
12 May 2008 20:15:40

2008/05/12 20:15:40
という風に返すモジュールないですか?



277 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:02:33 ]
>>273
どこでおかしくなっているか明示されているんだから、
見てみればいいだけ。

278 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:19:44 ]
>>276
use HTTP::Date qw(str2time time2iso)
print time2iso( str2time("12 May 2008 20:15:40") );

279 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:22:11 ]
ああスラッシュ(/)か >>278 なし

280 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:27:06 ]
>>276
Date::Manipかな。日付を扱うならDate::Calcとともに定番。

perl -MDate::Manip -e 'print UnixDate("12 May 2008 20:15:40", "%Y/%m/%d %H:%M:%S")'

281 名前:276 mailto:sage [2008/06/01(日) 00:57:56 ]
>>278
>>280
280氏のDate::Manipで解決できました。ありがとうございました。


282 名前:デフォルトの名無しさん [2008/06/01(日) 04:50:03 ]
activeperl v5.10.0 built for MSWin32-x86-multi-thread
において

 GD v2.39
 GD::Graph v1.4308
 GD::Text v0.86





use GD;
use GD::Text;

use GD::Graph::bars;
my $graph = GD::Graph::bars->new( 800, 800 );
my $gd_text = GD::Text->new();
GD::Text->font_path( _______DIR______);
$gd_text->set_font(_______FONT______, 178) ;#or die $gd_text->error;
$graph->set_title_font(_______FONT______, 178 );


_______DIR______ = undef | '' | 何か意味のある値
_______FONT______ = undef | '' | 何か意味のある値

をWindowsXP SP2あるいはWindows2k SP1で実行したとき
どうもシステムのフォントを破壊?するようです


283 名前:232 [2008/06/01(日) 04:57:25 ]
以下windows板に書いた物。

windows XP

起動してみると ”ようこそ”が明朝体になってて
ファイル名の全角空白までも文字化けしている状態になりました。

標準で恐らく第1水準漢字が表示できたりできなかったりするフォントが選択されているようです。
検索 -> 索 が表示できない
削除 -> 削 が表示できない
書き込む −> 込 が表示できない

またcmdで日本語が返ってくるような状態
>> c:\hoge\foo.bar (実際には存在しないファイル)
とかタイプすると ■■■■■ ■■■■と文字化けして
(ファイルが見つかりませんとかそんな感じのメッセージ)と返ってきます。

support.microsoft.com/kb/880991/ja
に従ってフォントキャッシュを消して再起動しても改善されませんでした。


Windows 2000 SP1では IE6の検索ウインドウに英字を入れるとイタリックに化ける
という共通してんだか共通してないんだかな現象が発生します。


232に書いたコードを実行したときに即に破壊するわけではなく、次回起動時から影響が出始めるので
何がどうなってるのかまったく分からない上に妙な分野にまたがった問題のために、
5時間戦って何にも戦果が上がらずもう疲れたのでとりあえずよし牛でも行ってからOS入れなおすことにしますた。

GD(GD::Textだと思うんだけど)使うときは気をつけてください。

284 名前:282 mailto:sasge [2008/06/01(日) 05:17:28 ]
すみません、 訂正 283 で s/232/282/g; で読んでください。
再現したくないのでぜんぜん検証ができないのですが
これはCPANの作者さんにも報告したほうがいいのでしょうか?

285 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 17:00:58 ]
ヤフオクの管理をしようと思います

とりあえず出品リストを作ろうと思って、
openuser.auctions.yahoo.co.jp/jp/user/my46giga
の内容の取得をしようと思っても、アダルト商品なので表示されません
クッキー周りだと思うのですが、うまくいきません
書いてみたのは下のようなもので、
yahoo_cookieにはadministrator@auctions.yahoo.co[2].txtの内容を
#LWP-Cookies-1.0
Set-Cookie3: YAUC_AV=.....
みたいな感じでコピーしてあります
どこが間違っているのでしょう

use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
use Encode;
$cookie_file = 'yahoo_cookie';
my $cookie_jar = HTTP::Cookies->new(file => $cookie_file, autosave => 1);
$ua = LWP::UserAgent->new;
$ua->cookie_jar($cookie_jar);
$req = GET "openuser.auctions.yahoo.co.jp/jp/user/my46giga";
$res = $ua->request($req);
print $res->content;



286 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 17:12:13 ]
どういう風にできないの?

287 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:15:25 ]
要素に配列への参照か文字列を含んだ再帰的な配列を出力するプログラムを作ろうとしているのですが
ややこしくてついアイスに手を出してしまいます。
どうすれば幸せになれますか

my @a=(1,2,3);
my @b=qw(a b c);
my $c=[\@a,\@b];
my $aa=[1,2,3];
my $bb=[4,5,6];
my $cc=[\$aa,\$bb];
sub pr{
    my($depth,$ary_ref)=@_;
    if((ref $ary_ref) eq "ARRAY"){
        foreach (@$ary_ref){
            pr(($depth+1),$_)
        }
    }elsif(defined $$ary_ref){
        print $depth,":",$$ary_ref,"do something\n";
    }else{
        print "do nothing\n";
    }
}
pr $cc;
pr $c;


288 名前:287 mailto:sage [2008/06/02(月) 08:56:48 ]
自己解凍しました。

289 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 11:07:13 ]
書きたかっただけだろw

290 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 12:34:14 ]
sendmailで受信したメールを、procmailからperlスクリプトを起動して処理しているのですが処理結果ない場合があります。
どこかでエラーが出て止まっていると思うのですが、エラー内容をファイルに出力できないでしょうか?
.procmailrcを

:0
|perl ./foo.pl 2>&1 > ~/out.txt

としてみましたがout.txtにはなにも出力されませんでした。(空ファイル)

291 名前:デフォルトの名無しさん [2008/06/02(月) 12:44:59 ]
Windows だとその書き方はダメで
perl ./foo.pl > ~/out.txt 2>&1
というふうに 2>&1 を後ろにもっていく必要がある。
Unix 系はどうか知らん。

292 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 12:55:40 ]
2>&1は後ろに持っていくはず。
Unix系でも。

293 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 13:42:21 ]
perl ./foo.pl 2> ~/out.txt

じゃだめだっけ?

294 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 14:45:45 ]
>>290
リダイレクトは左から評価されるんで、順序に注意汁ってこったな

2>&1みたいのはイメージ的には $b = $a みたいな変数のコピー
>~/out.txtみたいなのは $a = "hoge" みたいな代入
と思っておけば、イメージ的にはほぼ間違い無い

$b = $a;
$a = "hoge";
とかやっても、$bは"hoge"にならないでしょ
逆順だと上手くいくけど

295 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 19:03:12 ]
少しそれるが、この右からとか左からとかってのは結局のところ
対象の言語の実装がfastcallとかstdcallとかってことかね



296 名前:290 mailto:sage [2008/06/02(月) 19:33:01 ]
>>291-294
ありがとうございます。解決しました。
perlじゃなくてshellの問題でしたね。すいません。
294氏のイメージは理解しやすかったです。


297 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:15:52 ]
binmode(STDOUT);
と指定したものをテキストモードに戻すにはどうしたらよいでしょうか?

298 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:40:55 ]
binmode(STDOUT, ":crlf");

perlfunc読めよ糞が

299 名前:デフォルトの名無しさん [2008/06/02(月) 22:59:05 ]
     ↑
キミ、後輩を育てられないタイプだね。

300 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:06:24 ]
うん。自分でもそう思う。
でも、いまのところ自営業で後輩いないからなんとかなってる。

301 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:11:36 ]
相手に糞とか言う輩は、殆どの場合己がそうだから。

302 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:31:02 ]
相手をくそとか言う輩は,ほとんどの場合周囲からくそと言われてるから。

303 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:41:30 ]
>>301
> 相手に糞とか言う輩は、殆どの場合己がそうだから。

調査不可能なことを断言する嘘つきの出現です。

304 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:06:42 ]
断言してないような

305 名前:デフォルトの名無しさん [2008/06/03(火) 02:30:56 ]
質問してもいいでしょうか?
winxp sp2を使っていて、activeperlを入れています。

パソコンのボリュームの調整をするコードを書きたいのですが、
perlからでもそういうのはいじれるのでしょうか?

メイン音量・WAVE、あと、wmpなど音楽再生ソフトの音量もいじりたいです。
どこか参考になるサイトなどありますでしょうか?



306 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 03:48:25 ]
なんでperlで?
VBでも使った方が良くね?

307 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 07:37:39 ]
>>305
どうしてもPerlでやりたいなら、Win32APIをつかえば?
それ以上は、Perl関係ない。


308 名前:デフォルトの名無しさん [2008/06/03(火) 17:03:21 ]
use utf8;
binmode STDOUT, ':encoding(cp932)';

このコードを他のOS環境で使うためには
:encoding(cp932) を手作業で書き換えてもらってるんですが
自動取得することはできますか?
そのOSのデフォルトのコードページとかエンコードとかを
自動取得することは出来ますか?

309 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 17:32:59 ]
>>308
「そのOSのデフォルトのコードページとかエンコードとか」というのが
そもそも不明。



310 名前:デフォルトの名無しさん [2008/06/03(火) 18:18:44 ]
>>308
OSごとにデフォで使われてる文字コードを完璧に判定することはできない。

同じ記述なら一括で置き換えればいいだけだし
共通する部分なら最初に開発した段階で
定数なり関数なり作ってそこに定義しておくべきだった。

311 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 19:03:49 ]
>>308
OS名や環境変数で、ある程度は判別できるだろうね。


312 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:04:39 ]
>>311
> OS名や環境変数で、ある程度は判別できるだろうね。

「そのOSのデフォルトのコードページとかエンコードとか」が存在するかどうか
とか、それを守っているのかとか、そもそも一貫性があるのかとか
はいちいち調べないとね。



313 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:21:42 ]
出力の話なんだから環境変数LANGみて空ならCP932にするだけで
ほぼ解決しないかな?


314 名前:デフォルトの名無しさん [2008/06/03(火) 21:48:18 ]
中国とかフランスとかドイツの Windows って、環境変数 LANG に何て設定してあるの?

315 名前:デフォルトの名無しさん [2008/06/03(火) 22:25:52 ]
そもそもUNIX系OSには「OSのデフォルトのコードページとかエンコード」なんて概念自体無いわけだが。
LANGはOSのデフォじゃなくて、「その人が端末に表示したいエンコード」。
端末装置はユーザごとに異なるのが当たり前・・・というUNIXの基本を忘れてるよ。

んで、メンド臭いなら全部 UTF8 にしたら?
今時のWindowsのメモ帳ならUTF8開けるよ。



316 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:29:21 ]
Unix環境なら
use open ":locale";
とかでよきに計らってくれるようだが
Win32だと良い方法はないかも

317 名前:デフォルトの名無しさん [2008/06/03(火) 22:32:43 ]
> use open ":locale";

これも駄目。
何故なら、プロセスの実行環境と、その出力を閲覧するユーザのlocaleが一致する保証は無いから。

318 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:36:41 ]
>>317
それが「いい」か「だめ」かはケースバイケースでしょ。

それで少なくとも伝統的なUnixのI18N/L10Nプログラムと同じ動作にはなる。
Cでsetlocale(LC_CTYPE, "")するのとほぼ同じだから。

無論、設定ファイルや何かでオーバーライドできるようにすることが
望ましいけどね。

319 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:37:25 ]
>>313
他国語版使ったこと無いから知らんけど、cp932が有効なのが
そもそも日本語版Windowsだけなんじゃないかな。

>>314
中国はbig5?(と思ったら、Windowsでは、GB2312(cp936)らしい??)
フランス等ラテン語件はlaten-1(ISO-8859-1)なんじゃね?(cpだと1252)

>>316
VCからなら、locale取得したり、変更したりする関数があったハズ。
Win32APIから叩けそうな気がするけど、どうなんだろ。

まあ、日本語環境のみで使用するってんなら、>>313でええかも。

320 名前:305 [2008/06/03(火) 23:32:11 ]
>>306
CGIでPerlをかじりました。
実行ファイルにしてしまえば(自分のパソコンにはperl入ってるので不要ですが)Perlで問題ないと思いました。
Perlではwindowsを操作するようなプログラムはかけないなんてことはないと思ってたんですが。

特に簡単なのなら言語なんてほとんどなんでもいいのかと。

>>307
win32apiとやらを調べてみます。

321 名前:デフォルトの名無しさん [2008/06/04(水) 01:36:05 ]
>>315
UNIXのメモ帳で端末のエンコードが変更できるんですか?

エンコードの概念が無いなら、いったいどうやって漢字を表示するんでしょう?
テキストファイルをopenするのに、いったい何のコードでデコードすればいいんでしょう?

322 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:00:32 ]
>>321
> UNIXのメモ帳で端末のエンコードが変更できるんですか?

「UNIXのメモ帳」という謎の概念が提示されました。



323 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:01:13 ]
viとemacsの戦い

324 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:02:10 ]
ああ、いるんだよ。別なOSを「別なWindows」だと思ってるやつ。

325 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 02:08:47 ]
しばらく俺の雇用は安泰だな



326 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 04:11:02 ]
まあ、確かにメモ帳ライクな外見&操作を意識したテキストエディタはあるけどな。
それならUNIXのメモ帳と言っても何ら差し支えは……。

327 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 05:04:24 ]
>>322
> > UNIXのメモ帳で端末のエンコードが変更できるんですか?

これ全体が謎なんだな。

328 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 07:03:52 ]
>>320
Perlもモジュールだなんだでいろいろ出来るようにはなったけど
基本はテキスト処理をするための言語だぜ?

ちょっとじかじったくらいなんだったら
それに適した言語をかじり直したほうがたぶん早いよ


329 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 08:25:15 ]
>>320
win32apiをPerlから使うのは結構面倒なので、場合によるだろうけど、>>305をみると、Perlでコーディングする意味はないと思う。
やってで気ないことはないけど、適材適所ってヤツがある。
VBだと金がかかるという場合、もしVista使ってるならサイドバーガジェットという選択肢もあるかな。


330 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 10:48:24 ]
>>319
ちょっとやってみた感じだと、ActivePerlでもPOSIXモジュールのsetlocale()は
機能する模様(実際にはMSVCRTのsetlocale()を呼んでいるのだろう)

use POSIX qw(locale_h)
$old_locale = setlocale(LC_CTYPE, "");
とかやると、Japanese_Japan.932とかいう文字列が帰ってくる。
.の後ろがコードページのはず。

cygwinみたいにロケールが完全に腐ってる環境ではどうしようもないけどな。


331 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:25:55 ]
>>323
おーっと、ここで 「ed・はるみ」 が乱入w

332 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 05:42:10 ]
帰れカス

333 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:17:09 ]
Kwaliteeってなんですか?

334 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:09:00 ]
$ ed
hello, world
?
help
?
quit
?
exit
?
q
?
?
?
--help
?
-help
?
fuck
?


335 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:18:29 ]
ワロた



336 名前:デフォルトの名無しさん [2008/06/05(木) 20:11:12 ]
open FILE, '<:utf8', "unko.txt";
read FILE, my $content, (stat FILE)[7];
close FILE;

この (stat FILE)[7] の部分が、見た目が汚く感じるんですが
もっと美しい書き方はありませんか?
read FILE, my $content, 9999999999; とか、死んでもイヤです。
どっかのクソ言語の ReadAll メソッドみたいなのが欲しいです。

337 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:13:08 ]
open my $file, '<:utf8', "unko.txt";
my $content = do{local $/; readline $file}
close $file;

338 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:12:54 ]
-s FILE

339 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:16:32 ]
>>336
っ[File::Slurp]

340 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:13:26 ]
my $content = join("",<FILE>);

341 名前:デフォルトの名無しさん [2008/06/06(金) 00:39:53 ]
>>338
そっか、それがあったか。それ使わせてもらいます。感謝感謝。
あとの残りはクズですね。

342 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:46:36 ]
全部読むなら$/をクリアするのが常套手段だろ。

343 名前:デフォルトの名無しさん [2008/06/06(金) 00:59:50 ]

OBJS = ${CSRC:.c=r30}

.c.r30:
${CC} $<

Makefile中の$<をPerlを使って置換してCCに渡すことは可能でしょうか?

$<に含まれているスラッシュを\\に置き換えるために
$< =~ s|/|\\\\|g
このような置換を行いたいです。
環境はCygwinPerl5.8.8です。

344 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:00:03 ]
>>341
どうやって使うの?

345 名前:デフォルトの名無しさん [2008/06/06(金) 01:11:15 ]
sub write {
 ($fileName, $text) = @_;
 open(FH, "+>$fileName");
 print FH $text;
 close(FH);
}

こんな感じでファイルを出力するコード書いたのですが、
サブルーチン経由だとなぜか動きません
サブルーチンなしだと正しくファイルが書き出されました
なにがおかしいのでしょうか



346 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:21:24 ]
writeという標準関数があるから

347 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:52:38 ]
>>346
writeという標準関数の存在しりませんでしたが
今回はなぜこのコードが動かないかについてよろしくお願いします

というのも、同じ仕様(関数名,引数,戻り値)を複数の言語で記述してみてるだけなのです


348 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:11:42 ]
組み込み関数を再定義するためにはお作法がある。writeが再定義可能かは知らん。
perlsub読むか、親切に解説してくれるおせっかいが通りかかるのをまて。

349 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:23:57 ]
あ、なるほど そういう意味でしたか
文法自体はあってるんですね
ありがとうございます

350 名前:デフォルトの名無しさん [2008/06/06(金) 02:35:57 ]
&writeでもだめなのかな。

351 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 08:19:33 ]
>>349
ほかにどういう意味だと思ったんだ?

352 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 08:22:01 ]
>>343
makeのsubstやpatsubst関数じゃだめ?



353 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 08:33:28 ]
perlを始めたばかりなのですが、
foreachやwhile等で、何回目のループかをカウントしているような
変数は無いでしょうか?
自前で用意すればいいだけなのですが、そのような変数が無いかと思い
質問させて頂きます。

354 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:20:21 ]
あったとしても、時前で用意した方が他の人も読み易いんじゃないかな。

355 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:57:16 ]
そういえば、不精なPerlのハッカーたちは、foreachを使わずに全てforを使う……だなんて
どこかに書かれてたような気がするけど、実際どう?

自分は使い分けてる。



356 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:02:27 ]
自分は for かな後ろ見りゃわかるし。
foreach で (;;) とかやらなきゃどっちでも良いとは思う。



357 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:08:14 ]
forもforeachも一緒じゃないの?ただのシンタックスシュガーかと思ってたけど

358 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:17:35 ]
>>357 それを前提として書いたつもり。

a) for my $n (0..9) {}
b) foreach (my $n=0; $n<10; $n++) {}

a は許容できるが、b は嫌かなってこと。






359 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:21:56 ]
for しか使わね。それと、C type の for は使わね。

360 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:29:16 ]
俺も同じくforのみ

361 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:32:56 ]
どうでもいい。
んで、暗黙のループカウンタなんてあったら言語仕様としてきもい

362 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:39:58 ]
C言語の const 変数の様なのは定義できないでしょうか? perl 5.8です。

363 名前:356 mailto:sage [2008/06/06(金) 16:14:23 ]
んー、やっぱforだけとかの人のほうが多いのね。
まさにPerlスタイル。

>362
use constantとかはー?


364 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:02:47 ]
use Readonly ;
>>361
$. は?w


365 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:07:46 ]
つまりキモイってことですよPerlはw



366 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:19:32 ]
柔軟な頭を持ってない奴が負け惜しみを言ってますw

367 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:23:44 ]
ゴミを美味いと思う自分の狂った味覚を「柔軟さ」と主張する人生ですかw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<139KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef