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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 22:35:39 ]
"The duct tape of the Internet" こと、Perlについての質問箱です。
"There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。

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

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

www.perl.org/get.html
● 2006/12/21現在の最新版: 5.8.8
● 2006/12/21現在の開発版: 5.9.3

前スレ
Perlについての質問箱 28箱目
pc8.2ch.net/test/read.cgi/tech/1162273941/

リンク集は>>2-3
過去スレは>>4

51 名前:47 mailto:sage [2006/12/24(日) 20:06:57 ]
2で割り切れても50で割り切れない
上記のようなものはどう表示すればよいのでしょうか?

52 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 20:14:04 ]
これはひどい

53 名前:47 [2006/12/24(日) 20:25:26 ]
事故解決しました

54 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 20:27:39 ]
>>51
if(2で割り切れる? = はい){
 if(50で割り切れる? = いいえ){
  print "2で割り切れるけど、50で割り切れないよ。";
 }
}

55 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 20:35:28 ]
>>50
解決して何より。
だけどppmはリポジトリを追加するともっと強力になるよん。
Encodeの最新版はTheoryx5リポジトリにある。
Encode-EUCJPMSは検索したらパッケージを作ってる人がいました。
ttp://asakura.g.hatena.ne.jp/asakura-t/20061102/1162451401

56 名前:デフォルトの名無しさん [2006/12/24(日) 21:02:59 ]
>>50
ppm では
search hoge* してからにすべし

Foo::bar というモジュール名は
経験上、ppm では install Foo-Bar の名称で指定することが多し。

<ちらしの裏>
追記すると、最新の ActivePerl (Win32) では
ppm だと GUIウインドウが開く。
ppm-shell だと、従来通りのコマンドライン版が起動する。
</ちらしの裏>


57 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 23:13:43 ]
perlって何を造るための言語なんだ?
結局はWeb関連だったらツマランわ

58 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 23:17:02 ]
聖夜釣ですか

59 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 23:35:41 ]
Spreadsheet::WriteExcelでは既存のファイルを開けないことが判明orz
VBAコードを仕込んでおきたかったんだけど、なんかうまい方法はないでしょうか。
Linuxサーバ上でやりたいため、WIn32::OLEという解は使えません…。



60 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 13:28:50 ]
>>57
Perl is a programming language for getting your job done.

61 名前:デフォルトの名無しさん [2006/12/25(月) 18:56:23 ]
すみません。どなたか教えてくださいませ。
コード値を文字にしたいのですが、日本語はどのようにしたらよろしいのでしょうか?
chrは2バイト文字はだめってのはわかったんですが。
ちなみにシフトJISのコードを変換したいです。
例 0x82A0 → あ

62 名前:デフォルトの名無しさん [2006/12/25(月) 19:17:21 ]
$str = pack("H*","82A0");

63 名前:61 mailto:sage [2006/12/25(月) 19:22:37 ]
>62
ありがとうございます!
packの奥は深いっすね〜
もっと勉強します!


64 名前:デフォルトの名無しさん [2006/12/25(月) 21:15:28 ]
>>60
ワロタ


65 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 01:22:43 ]
今日からオライリーのPerlの本で勉強始めます。
来月から仕事で使いそうなんで・・・

66 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 01:33:16 ]
ここは俺の日記帳だからお前は日記を書くな

67 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 01:39:30 ]
chomp

68 名前:デフォルトの名無しさん [2006/12/26(火) 03:21:37 ]
質問

文字化けする理由を教えてください。

スクリプト
-------------------
$str="あー";
print $str;
print "\n";
$tmp="−";
$str =~ s/$tmp//g;
print $str;
--------------------

実行結果
--------------------
あー
あ[
--------------------

69 名前:68 mailto:sage [2006/12/26(火) 03:24:04 ]
追記
環境Windowsで.plファイルのエンコードはShift-JISです。
実行結果はコマンドプロンプトでの実行結果です。



70 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 03:58:22 ]
− = 81 7c
| = 7c
より、$str =~ s/$tmp//g;は
$str =~ s/(文字コード81)|//g;とPerlに解釈されています。
つまり、$str内の文字コード81か、空文字にマッチングしそれが削除されます。
あー = 82 a0 81 5b内の81を削除すると82 a0 5bとなり
これをShift_JISで表示すると[ = 5bよりあ[となります。

71 名前:68 mailto:sage [2006/12/26(火) 04:50:18 ]
>>70
丁寧な解説ありがとうございました。

$tmp="−";
$str =~ s/$tmp//g;

$str =~ s/\x81\x7c//g;
とすることによって解決できました。

72 名前:デフォルトの名無しさん [2006/12/26(火) 10:26:52 ]
そうくるかw

73 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 11:46:16 ]
Perl4時代の息吹を感じました。

74 名前:デフォルトの名無しさん [2006/12/26(火) 16:00:24 ]
すみません、CPANにあるHTML::TableExtractについての質問です。
search.cpan.org/dist/HTML-TableExtract/lib/HTML/TableExtract.pm
↑のREGULAR METHODSにあるdepths()メソッドの文字を変数に代入したいんです。。
然るべき手順を踏んで、
print $te->depths();
するときちんとdepths()メソッドの文字が表示されるのですが、
my $test = $te->depths();
print $test;
すると"Use of uninitialized value in print"というエラーが出てしまいます。。
全く訳が分からず打ち間違えを確認したりして同じ事を何回も繰り返したりしたのですが、
訳が分からないです。。どなたがご助言お願いいたします _ _

75 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 16:03:36 ]
>>66
      r;ァ'N;:::::::::::::,ィ/      >::::::::::ヽ
.      〃  ヽル1'´        ∠:::::::::::::::::i
       i′  ___, - ,. = -一   ̄l:::::::::::::::l
.      ! , -==、´r'          l::::::/,ニ.ヽ
      l        _,, -‐''二ゝ  l::::l f゙ヽ |、
        レー-- 、ヽヾニ-ァ,ニ;=、_   !:::l ) } ト
       ヾ¨'7"ry、`   ー゙='ニ,,,`    }::ヽ(ノ  2ちゃんはみんなの日記帳だから
:ーゝヽ、     !´ " ̄ 'l,;;;;,,,.、       ,i:::::::ミ
::::::::::::::::ヽ.-‐ ト、 r'_{   __)`ニゝ、  ,,iリ::::::::ミ    
::::::::::::::::::::Vi/l:::V'´;ッ`ニ´ー-ッ-,、:::::`"::::::::::::::;゙ ,  な!
:::::::::::::::::::::::::N. ゙、::::ヾ,.`二ニ´∠,,.i::::::::::::::::::::///
:::::::::::::::::::::::::::::l ヽ;:::::::::::::::::::::::::::::::::::::::::::/ /
::::::::::::::::::::::::::::::! :|.\;::::::::::::::::::::::::::::::/ /

76 名前:74 mailto:sage [2006/12/26(火) 16:04:22 ]
ごめんなさい。配列型で返ってきてました。。

77 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 16:26:50 ]
>>73
use utf8を使えば文字を直接置換できるかな?

78 名前:デフォルトの名無しさん [2006/12/26(火) 16:43:49 ]
>>68
pc8.2ch.net/test/read.cgi/php/1164519503/498-512

79 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 02:04:44 ]
パール無図杉



80 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 23:00:18 ]
すみません、質問があります。
WindowsのActive Perl v5.5.8です。
UTF16の日本語ファイルを開いて処理させようとすると
処理結果のテキストが文字化けしてしまいます。
Shift JISとUTF8形式だと問題なく処理できるのですが…。
UTF16でうまく処理できる方法はないでしょうか?

81 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 01:01:06 ]
>>80
シフトJISのファイルを扱うとき、
binmode STDOUT, ":encoding(cp932)";
binmode STDERR, ":encoding(cp932)";
binmode STDIN, ":encoding(cp932)";
use open IO => ":encoding(cp932)";
とか書かなかった?
cp932 を例えば、UTF-16LE に変えれば済むことと思われるが。


82 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 01:12:53 ]
>>80
前スレがまだ残っているので、前スレ 694 からの流れを参照。
対策としては、前スレ 703 のリンク先にある方法が無難だと思う。

83 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 01:24:39 ]
>>81さん
シフトJISのときは何も指定せずにいけました。
>>82さん
ありがとうございます。
明日頑張ってみます。

84 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 11:31:19 ]
Activeperl でタイムアウトを指定してホスト名を逆引き(gethostbyaddr)
するプログラムを書いています。タイムアウトした場合にはIPアドレスを
返そうと思います。そこで以下のようなサブルーチンを書いたのですが、
タイムアウトしません。古いActiveperlではalarmがないとの情報があった
のですが、sleep行で確認した所、5.8.8では問題ないようです。
お知恵を拝借頂ければ幸いです。

sub resolv_host {
my ($ip)=@_; my $timeout=2; my $host;
$SIG{ALRM} = sub { die 'TIMED OUT' };
eval {
alarm($timeout);
# ホスト名を逆引きする。
#sleep 5;
$host = gethostbyaddr(pack("C4", split(/\./, $ip)), 2);
alarm(0);
};
alarm(0);
if ( $@ =~ /TIMED OUT/ ){ $host = $ip;}
return ($host);
}

※実行環境は以下の通りです。

Windows XP SP2
Activeperl 5.8.8

85 名前: ◆TWARamEjuA mailto:sage [2006/12/28(木) 13:23:20 BE:2178454-BRZ(6677)]
Net::DNS を利用するのはいかがかしら?

86 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:31:04 ]
他所様のサーバの混雑具合を調べるプログラムを書こうとしています。

use IO::Socket;
my $sock = IO::Socket::INET->new(
 PeerAddr => $ip,
 PeerPort => $port,
 Proto => 'tcp',
 Timeout => $TIMEOUT,
);
if ($sock) {
 #接続成功
} else {
 #タイムアウト
}

今現在のコードがこんな感じでして、繋がる繋がらないは分かるのですが、
接続に要する時間を調べたいもののその方法がわかりません。
SOCKETを触るのが今回初めてでして、
そもそもにおいて根本的な過ちを犯してる場合はそちらも併せて、
何かよい方法がありましたら、ご教授いただけると幸いです。

87 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:43:14 ]
普通に前後で現在時間を求めて引き算すればいいのでは?

88 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 17:58:48 ]
>>85
ありがとうございました。

sub resolv_host {
use Net::DNS;
my ($ip)=@_; my $timeout=2; my $host;
my $res = Net::DNS::Resolver->new(
tcp_timeout => $timeout, udp_timeout => $timeout
);

my $query = $res->query("$ip");
if ($query) {
foreach my $rr ($query->answer) {
next if $rr->type ne "PTR";
$host=$rr->ptrdname;
}
}
else { $host=$ip; }
return ($host);
}

89 名前:名無しさん@Linuxザウルス mailto:sage [2006/12/28(木) 18:54:03 ]
任意の文字列からhttpで始まる単語(区切りはスペース)を切り取るにはどうしたらいいでしょうか
$str = aaaa bbbb ccc ddd.vv.vv hhhh rrrr ff.ff.mm
という文字列から「ddd.vv.vv」「ff.ff.mm」を切り出す方法です



90 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 18:59:42 ]
@a = grep /^http/, split / /, $str;

91 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 19:05:18 ]
@a = $str =~ /(?:^| )(http.*?)(?: |$)/g;

92 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 19:53:46 ]
>>55
>>56
遅くなりましたが、ありがとうございました。
レポジトリを追加したらだいぶ便利になりました。
パッケージをダウンロードしてきてそのまま追加することもできるようになりました。

93 名前:名無しさん@Linuxザウルス mailto:sage [2006/12/28(木) 20:04:48 ]
>>90,91
サンクス

94 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 20:45:12 ]
「後ろにtringが続かないs」を「z」に置換する方法は次の2つ以外にありますか?

s/s$/z/;
s/s([^t])/z$1/g;
s/st([^r])/zt$1/g;
s/str([^i])/ztr$1/g;
...

s/string/(あり得なさそうな文字列)/g;
s/s/z/g;
s/(あり得なさそうな文字列)/string/g;

95 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 20:48:34 ]
>>94
先読み否定。色々仲間があるので詳細はperlre参照。
s/s(?!tring)/z/g;

96 名前:デフォルトの名無しさん [2006/12/28(木) 21:14:01 ]
任意の精度の数値演算したいんですけど、
どうすればいいでしょうか?


97 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 21:16:21 ]
あ、Math::BigFloat モジュールってのがありました
すいません m(__)m

98 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 21:17:16 ]
>>95
ありがとうございました。

99 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 05:18:57 ]
FTPプロトコルでリモートにファイル転送するスクリプトを作ってるのですが
ローカルとリモートで同名だけどリモートの方がファイルサイズ小さい場合
差分のみ転送にしたいのですがレジュームはどうやればできますでしょうか?
perldoc Net::FTP
でresumeをキーに検索したのですが見当たりませんでした。
よろしくお願いします。



100 名前:99 mailto:sage [2006/12/29(金) 08:20:07 ]
自己レス

FTP resume perlをキーにググッたら下記の情報見つけた
www.garayed.com/perl/215162-net-ftp-resume-file-transfer.html

perldoc Net::FTPでWHEREを見ろって書いてあったので見たら
ダウンロードはgetメソッドの第3引数でオフセット値が指定できるみたいだけど
アップロードはrestartってメソッドでオフセット値をセットしてから
putメソッドで転送すればいいのかな。

しかしputメソッドは第3引数でオフセット値を指定できないんだ???

101 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 08:59:14 ]
どこまできちんと届いているかは、クライアントしか知らないから、
レジュームって普通クライアントから要求するようになってると思うよ。

102 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 09:29:59 ]
>>100
Net::FTPだったらputじゃなくてappendにしないと上書きされちゃうよ

>>101
99は具体的なやり方聞いてるのにそんな回答しても意味ネェだろw

103 名前:デフォルトの名無しさん [2006/12/29(金) 12:03:50 ]
Perllこついての質問箱?

104 名前:デフォルトの名無しさん [2006/12/29(金) 12:08:27 ]
Jcode::CP932
Encode::EUCJPMS
をインストールした後
use Jcode::CP932とするとエラーになってしまいます。

エラー内容
Jcode::CP932 is not an object at (eval 2) line 234
Jcode::AUTOLOAD('Jcode::CP932', 'sjis', 'cp932', 'euc', 'cp51932', 'jis', 'cp50221', 'iso_2022_jp', 'cp50220', ...) called at c:/usr/local/site/lib/Jcode/CP932.pm line 39
main::BEGIN() called at c:/usr/local/site/lib/Jcode/CP932.pm line 0
eval {...} called at c:/usr/local/site/lib/Jcode/CP932.pm line 0

Jcode.pmのAUTOLOADでconfessしてるっぽいんですが、何故動かないのでしょうか?
ちなみにWinXP、ActivePerl 5.8.7.813です

105 名前:SONY [2006/12/29(金) 15:18:48 ]
>>104
仕様です

106 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 16:12:31 ]
GK涙目wwwwwwwwwwwww

107 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 17:03:26 ]
-----------------
これwww.example.com/1.txt とttp://www2.example.com/2.txt これ
-----------------

この上の文を下の文に変換する"スマートな"方法としてはどのようなやり方がありますでしょうか?

-----------------
これ<a href="www.example.com/1.txt">http://www.example.com/1.txt</a> と<a href="www2.example.com/2.txt">ttp://www2.example.com/2.txt</a> これ
-----------------

仕様としましては

(1)http://またはhttps://またはttp://またはttps://で始まる場所をURL先頭とする
(2)半角空白または全角空白の登場、または文の末尾でURLの最後判定をする
(3)一行に複数のhttp://〜やttp://〜があっても全てにAタグを付ける
(4)Aタグをつけること以外の文章の加工をしない

です。
100stepくらい使えば書けないことはないと思うのですが、
スマートな方法は全く思いつきませんorz

108 名前:デフォルトの名無しさん [2006/12/29(金) 17:17:46 ]
なあ、次スレからテンプレートにこれを追加しない?
実は、オレもJperl から Active Perl に移行するとき、
これが解るまでかなり時間がかかった覚えがあるんだけど。

---------------------------------------------------------
#  【Perl 日本語処理の基礎の基礎】
# このレスは、Windows の ActivePerl で日本語処理を行う場合のテンプレートです。
# このレスの内容をそのまま(シフトJIS形式の)ソースファイルに保存して下さい。
# 入出力ともシフトJIS形式のファイルまたはDOS窓を想定しています。
# 文字コードの条件が異なる場合には編集が必要です。
# 編集の仕方はご自分で勉強するか、このスレで質問して下さい。
# まず、以下の行を先頭に入れて下さい。
use encoding "cp932";
use open IO => ":encoding(cp932)";
binmode STDIN => ":encoding(cp932)";
binmode STDOUT => ":encoding(cp932)";
binmode STDERR => ":encoding(cp932)";
# 次に、あなたが実行したい処理の内容を入れて下さい。
print "やあ!\n";
sleep(1);


109 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 17:24:21 ]
use encodingは弊害がでかすぎるかと…。




110 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 17:26:35 ]
>>107
要するにhttp urlの正規表現が解ればいいわけね。
www.din.or.jp/~ohzaki/perl.htm#httpURL

111 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 17:31:39 ]
>>110
>要するにhttp urlの正規表現が解ればいいわけね。
違うッスorz

(1)(2)だけなら $line =~ /(h?)(ttps?:\/\/[^ |^ ]+)/ で。。。

112 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 17:34:07 ]
>107

use strict;
use warnings;

while (<DATA>) {
s{(h?ttps?://([^\s ]+))}{<a href="$2">$1</a>}g;
print $_;
}

__DATA__
これwww.example.com/1.txt とttp://www2.example.com/2.txt これ

URLのパターンマッチはこれだと甘いけど。

>108
use encodingはきちんと理解して使わないとバグの元にしかならないから反対。

113 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 17:35:35 ]
s{(h?(ttps?://[^\s ]+))}{<a href="h$2">$1</a>}g;
ごめん、間違えた。

114 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 17:37:13 ]
全角空白って文字クラスにそのまま放り込んで大丈夫なんかいな

115 名前:108 mailto:sage [2006/12/29(金) 17:43:36 ]
>>109 >>112
確かにね。
これから始める人なら、ソースはUTF-8に統一して
もらったほうがいいかもね。これでいいかな?
---------------------------------------------------------
#  【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)";
# 次に、あなたが実行したい処理の内容を入れて下さい。
print "やあ!\n";
sleep(1);


116 名前:109 mailto:sage [2006/12/29(金) 18:24:42 ]
>>108=115

乙!
WindowsのActivePerl初心者による
似たようなQ&Aの再生産を回避するために
テンプレートを設置しようというのはとてもすばらしいッス!
でも、

 ・テキストモードとバイナリモード
 ・ASCIIとマルチバイトコード
 ・日本でのマルチバイトコードは複数の種類が存在すること
 ・UTF-8以外でのマルチバイトコードの扱い

を理解してないと結局はすぐにつまづくと思う。
でも、これを丁寧に説明してるとテンプレートで紙面が足りないから
結局「http://〜を読んで」、「binmode, Encodeでググると吉」
ってなっちゃうんだよね。。。

次ぎスレに115のテンプレを追加して様子を見るのがいいのかな。


117 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 18:40:57 ]
両方うぜーよwebprogでやれ

118 名前:109 mailto:sage [2006/12/29(金) 21:07:36 ]
>>117 うぜぇのは同意だけど、ウェブはかんけぇねだろバーカw

119 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 21:10:13 ]
レベル的に物凄く関係ありまふ



120 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 21:15:52 ]
くだすれPerlだな

121 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 21:24:28 ]
117のスルー力たんないからスレが荒れたな。
スルー力身につくまでおまえがROMるかwebprog行ってろ

122 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 22:30:03 ]
>>104
Jcode.pmにパッチあててなくね?


123 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 22:46:19 ]
するーかって何だよ
スルメイカかよ

124 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 23:08:30 ]
>>123
どうも「スルーする力(ちから)」という意味みたいだな。
それより、>>117にぴったりのスレがあるぞ。こっちで活躍したらどうだ

【Perl上級者コーナーPart01】
pc8.2ch.net/test/read.cgi/php/1024741312/l50


125 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 23:24:05 ]
ゾーキャスラー力を思い出す流れだが、まぁ通じないだろう。

126 名前:107 mailto:sage [2006/12/30(土) 00:21:53 ]
>>112,113

できました!ありがとうございましたm(_ _)m

127 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 09:48:58 ]
www.google.co.jp/search?hl=ja&rlz=1B2GGGL_jaJP177&q=%E3%82%B9%E3%83%AB%E3%83%BC%E3%82%AB&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
スルーカ の検索結果 約 173,000 件中 1 - 10 件目 (0.03 秒)


128 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 09:53:09 ]
Срука


129 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 03:05:23 ]
kent-web の sunbbs.cgi を改造しまくって使っています。
記事番号が奇数番号のときと偶数番号のときとで、
交互に違う情報を入れたいと思っているのですが、
perl で偶数と奇数を判別するのってどうやればいいんでしょうか?



130 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 03:07:15 ]
%2

131 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 03:14:40 ]


132 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 03:22:34 ]
>>129
2で割った余りが0なら偶数、1なら奇数と判定すればOK

133 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 07:26:19 ]
1 と and とって1ビット目が 0 か 1 かで判断してもおk

134 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 15:02:29 ]
>>132-133
例文でお願いしますです。orz

135 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 15:12:55 ]
>>134
この程度のこともわからないのに
>kent-web の sunbbs.cgi を改造しまくって使っています。
なのか

136 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 15:22:34 ]
>>134

%2

137 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 18:38:54 ]
巨大な数字ってどういうビット構造なんかな?

$a = 234;

if ( $a & 1) { print "奇数" }
else { print "偶数" }

138 名前:デフォルトの名無しさん [2007/01/02(火) 00:43:33 ]
詳解 正規表現
をかったんだよお年玉で

139 名前:デフォルトの名無しさん [2007/01/03(水) 10:43:45 ]
WINDOWSの鯖でファイルが書き込み可能かどうかを判断するにはどうしたらいいんですか?
WINDOWS鯖の場合だと
if (-w $write_file_path) { print "書き込み可能\n"; }というプログラムがが使えないんです




140 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 11:06:17 ]
>>139 == pc10.2ch.net/test/read.cgi/php/1164519503/635

マルチなので放置しましょう

141 名前:デフォルトの名無しさん [2007/01/03(水) 11:20:32 ]
>>109
>use encodingは弊害がでかすぎるかと…。

kwsk.

 今まで、Jcode->new($hogehoge)->sjis; でちまちま変換していた者としては
 use encoding という技は新味ですyo.

142 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 14:25:47 ]
うるう年かどうかを判別するプログラムが課題で出ているのですが

$y=1900;

if($y %4==0){
print "$y is a leap year.\n";
}elsif(($y %4==0) && ($y %100==0)){
print "$y is a common year.\n";
}elsif(($y %100==0) && ($y %400==0)){
print "$y is a leap year.\n";
}else{
print "$y is a common year.\n";
}

これで1900を$yに入れても、うるう年になってしまいます。
1900をcommon year.にするには、どうすればよいのでしょうか?

143 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 14:35:27 ]
>>142
そういうのは400,100,4の順番に判定するんだよ

144 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 14:45:24 ]
なんてほのぼのする質問だろう

145 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 14:52:27 ]
正直に課題って言ったのも好感w

146 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 15:09:31 ]
>>142
最初の条件 $y %4==0 が、「4で割り切れたら」だから、4で割り切れる数字は、
全てここで引っかかっちゃうよ。

147 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 17:45:10 ]
(´・ω・)ヤサシス

148 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 20:54:19 ]
なんでうるう年は4年に一回なのに400と100も判定にいれるの?

149 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 20:55:00 ]
>>148
それは冗談で言っているんだよな。



150 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 21:13:58 ]
愉快なスレだな

151 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 21:22:42 ]
use DateTime;
my $y = 1900;

if (DateTime->new(year => $y)->is_leap_year) {
  print "$y is a leap year.\n";
} else {
  print "$y is a common year.\n";
}

こうですか? よくわかりません><






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

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

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