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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/04/26(水) 18:00:50ID:RLbnve1J
Perlのコーディングで困ってる人のスレです。

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

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

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

過去ログやお勧めサイトは >>2-10
0583nobodyさん2006/05/18(木) 21:40:24ID:???
変わったコードだな…
0584nobodyさん2006/05/18(木) 21:45:10ID:???
print '<SELECT NAME="color">',"\n";
map {print qq|<OPTION value="$_">$_</OPTION>\n|} (1..10);
print '</SELECT>',"\n";
0585nobodyさん2006/05/18(木) 21:49:32ID:???
>570
>>573さんのようにPerlだからでこその記述の仕方ではないけど・・・
print "<select name=\"color\">\n";
for(1..10){
  print "<option value=\"$_\">$_</option>\n";
}
print "</select>\n";


>>579
普通に感動
すごいなそれ
0586nobodyさん2006/05/18(木) 21:55:03ID:???
qq| | っていいね。初めて知った。
0587nobodyさん2006/05/18(木) 22:13:29ID:???
他のスレから来ました。
Perlで他のサイトを取得して表示したいと思っています。
(著作権侵害とかそういうことをしたいのではないです)

お時間のある方にお願いしますが、次のコードで@niftyのトップページを取得してみたら
どうなるか教えていただけませんでしょうか?

print "Content-Type: text/html\n";
print "\n";
use LWP::Simple;
print get( 'http://www.nifty.com/' );

私のところだと、ブラウザ上での表示がぐちゃぐちゃになるんですが…。
0588nobodyさん2006/05/18(木) 22:33:05ID:???
>>587
こいつ他のスレ荒らした奴だから構わないでね。
http://pc8.2ch.net/test/read.cgi/tech/1146022352/
05895872006/05/18(木) 22:37:14ID:???
荒らしてません。>>588はスルーして下さい。
0590nobodyさん2006/05/18(木) 22:50:45ID:???
せっかくスライドして来てくれたのだから楽しんでって貰おうよ。
応接するメンツはそれほど変わらんと思うけど。w

>>587
その質問に対する答えなら、「試しちゃいないけど、たぶん僕んとこでも同じです」だね。

でな、ひとつ提案なんだけれど、「やりたいこと」、「試したこと」、「その結果」をそれぞれ正しく伝わるように書いてみませんか。
「どうなるはずだと思ったか」を書かずに、単に「どうなるか」と問われても、「書いた(コード)なり」、としか答えられませんし、
また「ぐちゃぐちゃ」が実際にどういった現象を指しているのか、そしてそれはあなたの狙いとどう食い違っているのか、そのあたりは最低限明記しなくては有益な議論になりません。
0591nobodyさん2006/05/18(木) 22:50:56ID:???
TT でも使っとけばよくね?って言いたくなるコードが多いね。
0592nobodyさん2006/05/18(木) 22:52:19ID:???
>>590
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2143752
0593nobodyさん2006/05/18(木) 22:58:57ID:???
http://pc8.2ch.net/test/read.cgi/php/1049514428/585
マルチしてる池沼は以後放置
05945872006/05/18(木) 23:02:26ID:???
>>590
ありがとうございます。

■やりたいこと:
Perlスクリプトから任意のページを取得する
(丸ごとゲットしたいわけではなく、ブラウザで表示するだけ)

■試したこと:
>>587のようなコード(socket関係、LWPモジュール関係)

■結果:
指定したページは取得できているけれど、相対パス指定の画像や外部ファイルが
読み込めていないため、スタイルシートに依存しているページなどでは
表示がぐちゃぐちゃになる

■「ぐちゃぐちゃ」とは:
スタイルシートに依存しているページなどをオフラインで見た時のようなイメージ

■私の狙いとどう食い違っているのか:
私は、スクリプトにアクセスすると、スクリプトが指定したページを取得してきて
それをブラウザに返し、そこからブラウザがリンクを解析して画像などを読み込んでくると
思っていました。
でも、絶対パスの画像などは読み込まれてきますが、相対パスのものが
全く読み込まれません。
これって普通なんでしょうか?
05955872006/05/18(木) 23:03:25ID:???
マルチしてません。>>593はスルーして下さい。
ていうかあなたがやったんでしょう?
0596587 ◆AOxf8.Tmck 2006/05/18(木) 23:04:10ID:???
>>593>>595は私じゃありません。スルーして下さい。
05975872006/05/18(木) 23:04:53ID:???
すみません、第三者が見て不快になるレスをしたかもしれません
>>595はスルーして下さい。
0598nobodyさん2006/05/18(木) 23:05:59ID:???
鳥つけるヤシに限ってググれば解決する問題を延々とここで質問するからクソだよな
0599nobodyさんNGNG
ワロス
0600587 ◆AOxf8.Tmck 2006/05/18(木) 23:06:32ID:???
このトリップは先に質問した時のスレからずっとつけてます。
つけてないのは偽者です。
0601nobodyさん2006/05/18(木) 23:07:16ID:???
>>594
>これって普通なんでしょうか?
それで正しい動作。あまりに普通。
ソース解析して中身まで持って来たりはしない。
0602nobodyさん2006/05/18(木) 23:07:40ID:???
こりゃひどい酷すぎる
呆れたってよりも可哀想だ…
0603587 ◆AOxf8.Tmck 2006/05/18(木) 23:07:59ID:???
あ、>>594とかは本物です。

>>598
ググっても解決しませんでしたが。
0604nobodyさん2006/05/18(木) 23:08:29ID:???
>>592のリンク先で質問してるのもこいつ本人なんだろうな……。
0605587 ◆AOxf8.Tmck 2006/05/18(木) 23:09:21ID:???
>>601
そうなんですか…。どうもありがとうございます。

それでは、相対パスの画像なども読み込まれるようにするには、
どうコーディングすればいいんでしょうか?
0606587 ◆AOxf8.Tmck 2006/05/18(木) 23:10:18ID:???
>>604
そうですけど。だったら何なんですか?
0607nobodyさん2006/05/18(木) 23:10:35ID:???
>>603
>ググっても解決しませんでしたが。
何て検索したか言ってみろ
俺のディスプレイには解答への検索結果が出てるが
0608nobodyさん2006/05/18(木) 23:10:48ID:???
587は、世の中にはエスパー機能付きブラウザがあると思ってるわけか
0609 ◆TWARamEjuA NGNG
→(丸ごとゲットしたいわけではなく、ブラウザで表示するだけ)
丸ごと以上にゲットしなきゃだと思う。。。@HTMLを解釈して必要な物を再度取得する。

ブラウザってば、普通の人にはなんの変哲もない事をやっているように見えるけれども、
中の人はほんと大変なんだけどなぁ。。。
0610587 ◆AOxf8.Tmck 2006/05/18(木) 23:14:01ID:???
>>607
すいません忘れました。

>>608
エスパー機能でなくても、例えばニフティのトップだったら
ブラウザに「http://www.nifty.com/」というURLを与えてやれば、
そこから相対パスをブラウザ内部で絶対パスに変換することはできると思います。
0611nobodyさん2006/05/18(木) 23:15:17ID:???
本気で酷いな。
0612587 ◆AOxf8.Tmck 2006/05/18(木) 23:15:46ID:???
>>609
「@HTML」って何ですか?
ググっても「@」という記号が無視されるようで、検索できませんでした。
0613nobodyさん2006/05/18(木) 23:15:49ID:???
真性だたかw
0614nobodyさん2006/05/18(木) 23:17:24ID:???
>>612
前スレ行って謝ってこい。話しはそれからだ。
0615587 ◆AOxf8.Tmck 2006/05/18(木) 23:18:53ID:???
>>614
何を謝るんですか?
質問しただけなのに荒らされて、迷惑を被ったのはこっちの方です。
0616 ◆TWARamEjuA NGNG
>>612
該当するページのソースを丸ごと取得してから、ソースを解釈して<img src="uri">などの"uri"からリソースを再度取得し、
ローカル内に再配置する。それからそれから(長いので省略)

という意味です。
0617nobodyさん2006/05/18(木) 23:20:50ID:???
お前のせいでスレに迷惑がかかってるのに気が付かないか?
0618nobodyさん2006/05/18(木) 23:22:22ID:???
>>616
自演乙。
0619587 ◆AOxf8.Tmck 2006/05/18(木) 23:22:25ID:???
>>616
…ということは、ブラウザと同じようなものを作るしかないということなんですね。

どうもありがとうございました。
0620 ◆TWARamEjuA NGNG
>>618
自演だったのかぁ♪

>>619
そういうことです。
ブラウザを甘く見ちゃエケナイのです。
0621nobodyさん2006/05/18(木) 23:28:32ID:???
>>620
お前も一緒に謝罪に来い。
0622nobodyさん2006/05/18(木) 23:32:08ID:???
ファイルロックしてるのにファイルが消えるんですが。
0623nobodyさん2006/05/18(木) 23:34:44ID:???
なぜスルーできないヒトがここまで多いのかわからん
06246222006/05/18(木) 23:38:34ID:???
>>623
>なぜスルーできないヒトがここまで多いのかわからん
スルーしないで答えてくださると嬉しいですね。
0625nobodyさん2006/05/18(木) 23:39:27ID:???
>>623
向こうのスレ見てない人?答えてるのは自演だよ。
0626nobodyさん2006/05/18(木) 23:57:46ID:???
print <<'EOF';
 早     /::::l:::l::、:::::、:::::ヽ::、::::::::::::\:::\::::::::ヽヽ::::::ヽ   駄
 .く      /:::!::::i:::!:::ヽ:::ヽ::::::ヽ::ヽ、::::::::::\:::ヽ:::::::ヽヽ::::::',   目 
 な.     /:l::::!::::ヽ!::ヽ:::::::ヽ:::::::\:::ヽ、::::::::ヽ:::ヽ::::::::!::i:::::::!  だ 
 ん   ハ:::l:::::、::::ヽ::::\:::::\:::::::\:::`ヽ、:::ヽ::ヽ:::::!:::!:::::l
 と   /:::::::l::::::!ヽ:ヽ::::、:::::ヽ:::、:\::::: \::::::\::::!::::ヽ:!:::i:::l:l  こ
 か  !:/!:::::!::::::!::ヽ:ヽ{:::\:::ヽ::::\:::\::ヽ:::::::ヽ!:::::::}!::::l::li|   い
 し  j/:::l:::::!:、:::!::ト、:、:ヽ:::::`ヽ{、::::::\::::\{、::::::::::::::::i::!::l:l !   つ
 な    l:i:l::::i::i:、:l::lテ=-、:ヽ、_、::\_,≧ェュ、_、\:::::::::i::li::!::リ   :
 い   !ハト:{:!:i:トN{、ヒ_ラヘ、{ >、{ 'イ ヒ_ラ 》\::l::!:ト!!:l::l!     :
 と     ヽ i、ヽ:ト{、ヾ ̄"´ l!\   `" ̄"´  |::!:l::! j:ll:!
  :      !::、::::i      l             u |:::/lj/l:!リ
  :        ヾト、:!u                 j!/ j|:::リ
          ヾ!    ヽ  ‐       u /イ´lハ/
            }ト.、  -、ー-- 、__      /' !:://
             リl::l゛、  `二¨´    /  |/:/
         rー''"´ト!::i{\       /  / !:/
        / ^ヽ  ヾ!  ヽ _,,、'´    /  j/
EOF
0627nobodyさん2006/05/18(木) 23:59:24ID:???
ファイルロックしてるのにファイルが消えるんですって。
誰か教えてくださいよ〜。
0628nobodyさん2006/05/19(金) 00:27:46ID:???
>>627
意地悪で言うんじゃないからちゃんと読んでね。

お前さんがそこそこ腕の立つ医者だったとしようや。
患者がやってきて、

「病院に通ってるのに病気が治らないんですけど」

って言うんだ。


僕たちは商売でもないのに、毎度基礎的な事実関係を優しく問診してあげるところからスタートしなくちゃいけないかい?
問題解決に興味があっても(だから僕たちはここにいるんだけど)、問題が何なのかわからなくちゃどうしようもないんだ。
0629543です2006/05/19(金) 00:27:52ID:1sSf/5KF
いつもお世話になっております。
htmlからデータを送信しなかった場合(cgiを呼び出しただけ)ではGETが入っていました。

>>544 試してみたら簡単でした
>>547 日本語を学んでください
>>548 ありがとうございました
>>551 GETでした
>>552 わざわざソースまでありがとうございました
>>553 意味がわからなかったです・・・
>>554 正解でした
>>556 病院に行ってください

さんきゅーみんな!さんきゅーな!!
0630nobodyさん2006/05/19(金) 00:52:42ID:???
質問する人はとりあえず
>>1
>>1
>>1
>>1
0631nobodyさん2006/05/19(金) 09:16:12ID:???
Perl5.8で、スクリプトをcp932で記述、use encoding "cp932"; を指定した後に
漢字を含むファイルの読み書きをする決定的な方法はないでしょうか?
どうもパスやファイル名だけがUTF-8になってしまう妙な不具合(仕様)が
あるようなので困っています。
0632nobodyさん2006/05/19(金) 09:18:43ID:???
すみません。>>631は
「漢字を含むファイル」→「漢字を含むパスやファイル名」です。
0633nobodyさん2006/05/19(金) 09:40:07ID:???
>>631
読み書き以外の操作に関しては入出力レイヤのような便利(?)な仕掛けはないので
自分でencodeしないとだめだという仕様。
0634nobodyさん2006/05/19(金) 10:11:05ID:???
>>627
オカルト板で聞くといいよ。
0635nobodyさん2006/05/19(金) 10:51:24ID:???
なるほど、全角アルファベットを使う奴は無視することにしよう。
0636nobodyさん2006/05/19(金) 11:23:42ID:???
ファイルロックは消せないようにするものじゃないので不思議でもなんでもないわけだが。
06375742006/05/19(金) 12:14:00ID:???
本当にごめん。皆ありがとうorz

ちょっくら真剣に勉強してきます orz
0638nobodyさん2006/05/19(金) 14:58:40ID:JIoPGZWV
utf8で書かれたスクリプトがあり、エラー処理が
・・・ or error("×××失敗: $!");
のようになっているのですが、サーバー(Linux)の設定が
eucのため $! もeucになり、文字化けしてしまいます。

$! を使った箇所はたくさんあるため、1つ1つ
・・・ or error("×××失敗: " . decode("euc-jp", $!));
のように変更するのは避けたいのですが、簡単に
解決する方法はあるでしょうか。
※スクリプトの文字コードやサーバーの設定は変えられません。

何かいい方法がありましたらご教授下さい。
よろしくお願いします。
0639nobodyさん2006/05/19(金) 15:51:40ID:???
そんな意味不明な設定をしているサーバから離れる。
仕事で IT 土方やってるなら、地面を掘るほうの土方に転職する。
0640nobodyさん2006/05/19(金) 16:07:23ID:???
サーバの設定というのが意味不明だな。
普通はスクリプトで全て設定できる。
0641nobodyさん2006/05/19(金) 16:10:56ID:4aaheppT
初心者質問スレなんだから教えてやれw
0642nobodyさん2006/05/19(金) 16:16:43ID:???
>>638
通常ユニコード文字列とバイト文字列をつなげるときにバイト文字列はlatin-1としてdecodeされるが、
これはencodingプラグマで変更することができる。

したがってバイト文字列な$!をeuc-jpとしてdecodeするように

use encoding "euc-jp";

としてやればいけるはずだ。ただ他の部分にも影響するから注意。

一応動作確認:

use utf8;
use encoding 'euc-jp';

open F, "</hogehoge" or die "ほげほげ: $!";

というプログラムをutf8でセーブして

% LANG=ja_JP.eucJP perl foo.pl 2>&1 | hex
0x00000000: e3 81 bb e3 81 92 e3 81 - bb e3 81 92 3a 20 e3 81 ..祉....祉..: ..
0x00000010: 9d e3 81 ae e3 82 88 e3 - 81 86 e3 81 aa e3 83 95 ...�.......�..
0x00000020: e3 82 a1 e3 82 a4 e3 83 - ab e3 82 84 e3 83 87 e3 ..<.ゃ.�......
0x00000030: 82 a3 e3 83 ac e3 82 af - e3 83 88 e3 83 aa e3 81 .c.�.�....�.
0x00000040: af e3 81 82 e3 82 8a e3 - 81 be e3 81 9b e3 82 93 �.......障.....
0x00000050: 20 61 74 20 66 6f 6f 2e - 70 6c 20 6c 69 6e 65 20 at foo.pl line
0x00000060: 34 2e 0a - 4.J
0643nobodyさん2006/05/19(金) 16:51:21ID:???
>>638
binmode STDERR, ":encoding(euc-jp)";
06446432006/05/19(金) 17:02:27ID:???
あ、出力を UTF-8 で固める話ね。読み違えてた、ごめん。

そゆことなら error() の定義を書き換えるか、オーバーライドしてしまえば最小限の修正で済むんでないかな、と。
0645nobodyさん2006/05/19(金) 17:08:17ID:???
> ※スクリプトの文字コードやサーバーの設定は変えられません。

どんな状況でどんな理由なのだろうか
06466382006/05/19(金) 18:34:56ID:???
ご回答ありがとうございます。

>>640
TeraTermというソフトでサーバーにアクセスすると文字コードがeucとなっているので、
そのことを伝えたくて書きました。私自身が分かっていないまま書いてしまい申し訳ありません。

>>642
頂いたテストコードでうまく行くのは確認できました。しかし、いろいろテストしてみましたところ、
use utf8;
use encoding 'euc-jp';
eval { open FH, "hoge" or die $! };
if ($@) {
 print "エラー: $@";
}
のような感じにすると、なぜか文字列全体がeucになってしまいました。

また、
> 他の部分にも影響するから注意
の「影響」も分かっていない状態で使うのは、何か問題が起きた際にどうしようもなくなって
しまうため、せっかくのところ申し訳ないのですが別の方法を探そうと思います。

>>644
error("utf8文字列 eucの$!") という具合なので、error に渡った時にはもう文字コード混在
状態なのです。それを判断して変換できればその方法が一番よいように思うのですが、
$! の組み込まれ方も様々でして、私ではどうにもできませんでした。

>>645
既に稼動状態にあるものを引き継いだため、大きな影響が出そうなことはできないのです。
0647nobodyさん2006/05/19(金) 18:39:44ID:???
>TeraTermというソフトでサーバーにアクセスすると文字コードがeucとなっているので、
oioi
0648nobodyさん2006/05/19(金) 18:56:31ID:???
もしログ見る奴が我慢できるなら、LC_MESSAGESをCにしちまえば
英語になるので文字化けからは解放される。
0649nobodyさん2006/05/19(金) 19:27:02ID:???
>>646
いくつか質問。
1.それはCGIの類なのか、ただのスクリプトなのか、何なのか
2.見るのに使うソフトウェアはブラウザなのか端末ソフトなのか何なのか
3.見たいものはログファイルなのか、スクリプトの出力なのか、何なのか
0650 ◆TWARamEjuA NGNG
つ $ENV{LANG} = 'euc-jp';
って云うのもありかな?
06516312006/05/19(金) 19:44:44ID:???
>>633
おこたえありがとうございます。やっぱりありませんか…orz
0652nobodyさん2006/05/19(金) 19:46:29ID:???
時間を獲得する場合って「$ENV{'TZ'} = "JST-9";」は必ず必要?
無くても平気?
0653 ◆TWARamEjuA NGNG
>>652
無くても平気だけれども、正確に日本時刻を取得したいのならば(locale依存)
$ENV{TZ}を待避させてから'JST-9'を入れてあげるといいと思うそ。
0654nobodyさん2006/05/19(金) 19:51:42ID:???
>>653
おう。
ありがとん。
06556382006/05/19(金) 21:06:17ID:???
>>648
ログが英語になるのはまったく問題ないのですが、
それはどこの設定を変えればよいのでしょうか。

>>649
1.CGIやバッチ処理を行うスクリプトなど様々です。
2.ログは端末ソフト上で見たり、ダウンロードして秀丸で見たりします。
3.エラーは通常ログファイルに出力されますが、ちょっとした確認は標準出力したりしています。

>>650
$ENV{LANG} = 'euc-jp'; を追加してみても直りませんでした。
0656 ◆TWARamEjuA NGNG
>>655
あ、そうか。。。
だったら、>639かな♪
0657nobodyさん2006/05/19(金) 21:37:00ID:???
>>655
起動する前にあらかじめ環境変数LC_MESSAGESにCを設定しておくか、perlの中だけでやりたければ
POSIX::setlocaleを使う。後者の例はperldoc perllocale参照。
06586382006/05/19(金) 23:07:44ID:???
>>657
ありがとうございます。スクリプトの先頭で
use POSIX;
POSIX::setlocale(LC_MESSAGES, "C");
とすることで、エラーメッセージが英文になりました。
大変勉強になりました。
0659nobodyさん2006/05/19(金) 23:50:07ID:???
$ENV{LANG} = 'euc-jp'; なんて書き方ねーよ。
0660nobodyさん2006/05/20(土) 01:08:01ID:???
システムの吐く文字コードが英字限定になって、
自前のスクリプトが吐く文字コードがUTF8で、
ターミナルの文字コードをUTF8にしておくで解決したのかな。
0661nobodyさん2006/05/20(土) 10:59:57ID:???
>>646
UTF-8対応のTeraTerm使えばいいだけの話じゃないの
0662nobodyさん2006/05/20(土) 17:53:08ID:???
正規表現についてですが、
if ( $url =~ /\.html$/ or $url =~ /\.html\#/ )
これをもっと簡単に書くことはできませんか?
0663nobodyさん2006/05/20(土) 17:58:29ID:???
$url =~ /\.html(?:#.+)?$/
0664nobodyさん2006/05/20(土) 18:57:30ID:???
ありがとう。
0665nobodyさん2006/05/20(土) 19:00:35ID:???
あるCGIのクッキーの処理を見ていたら
$wday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday') [$wday];
という箇所があったのですが、この配列(?)のケツに付いている「[$wday];」って何でしょうか?

調べてもまったく出てこなくて・・・・・・
0666nobodyさん2006/05/20(土) 19:04:52ID:???
>>665
@aho = (3,4,3); $aho[1] eq 4 みたいに配列の要素へアクセスするときはブラケットの中に数字を入れる。
0667nobodyさん2006/05/20(土) 19:18:42ID:???
>>666
失礼。もう1ついいですか。
配列は「@wday」と書くものだとずっと思っていたのですが、ここでは「$wday」となっています。
これはどういった意味があるのでしょうか?

また、>>665はどういった処理をしているのでしょうか?

何度も申し訳ないです。。。。 よろしくお願いします。
0668nobodyさん2006/05/20(土) 19:49:52ID:???
>>665
$var = (11,22,33,44)[2];
↑33が入る
0669nobodyさん2006/05/20(土) 19:52:35ID:???
('Sunday' ...)がリスト(配列)
それの$wday番目の要素を$wdayに代入
0670665,6672006/05/20(土) 20:10:17ID:???
>>668-669
ありがとうございます。
とても参考になりました。
0671nobodyさん2006/05/20(土) 20:10:52ID:???
本当に分かったんかなぁ?
0672nobodyさん2006/05/20(土) 21:04:01ID:???
自分も初心者ですが。。。

これ↓はリストを配列に代入。

@wday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');

個々の配列要素にアクセスするときは、@ → $にする。なぜなら個々の要素は普通の値(もしくは文字)だから。
@だと配列全体を表すことになる。

$a = $wday[2]; # (0から数えて)2番目の要素である Tuesday を $a に代入
print $a; # Tuesday と表示

これ↓だと先述したリストを一旦、配列に入れるというのをぶっとばして、いきなりリストの2番目の要素に
アクセスしている。

('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[2]

すなわち、その値は、Tuesday という文字。

下の代入は、まず$wdayには数字が入っていて、リストの何番目の要素を取り出すかを決めている。
例えば、$wdayに2が入っていれば、Tuesday が選ばれたことになる。そしてその Tuesday を$wdayに代入している。
$wdayは最初、数字だったのがこれにより文字列になるわけですね。

$wday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday') [$wday];
0673 ◆TWARamEjuA NGNG
# --- 鯖時間をそれなりに変換♪
# Exchange_Date(mode, unixtime)
# mode が 'jp' の時には日本語で返す。
# unixtime time(3)の値。
sub Exchange_Date{
my $mode = shift;
my @date = localtime shift;

@date = (
 $date[5] + 1900,
 ('01' .. '12')[$date[4]],
 $date[3],
 qw(Sun Mon Tue Wed Thu Fri Sat 日 月 火 水 木 金 土)[$date[6] + ($mode eq 'jp' ? 7 : 0)],
 $date[2],
 $date[1],
 $date[0]
);
return $mode eq 'jp'
  ? sprintf qq|%04d年%02d月%02d日(%s) %02d時%02d分%02d秒|, @date
  : sprintf qq|%04d/%02d/%02d(%s) %02d:%02d:%02d|, @date
;
}
みたいな♪
0674nobodyさん2006/05/20(土) 22:29:16ID:???
何でみんな、そんな親切に教えるかなぁ?
こんなの(いくら初心者っつったって)前後の流れを見れば分かることだし
分からないようならPerlに限らずどんな言語だって身に付かないと思うよ。
甘やかすのと手助けするのは全然違う。
0675nobodyさん2006/05/20(土) 22:34:23ID:???
それと>>673は
$wday = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday') [$wday];
すら分からない初心者に、自分はこんなにすごいんだYOと自慢しているようにしか見えない。
0676nobodyさん2006/05/20(土) 22:44:06ID:???
で?
0677nobodyさん2006/05/20(土) 22:45:03ID:???
Perlerにはお人好しが多いってだけの話
0678nobodyさん2006/05/20(土) 22:53:39ID:???
>>676
相手のレヴェルも考えましょうってことサ

>>677
リアルで聞かれたら親切に教えるんで、俺もやっぱりお人好しかなw
0679nobodyさん2006/05/20(土) 23:10:55ID:???
この板の人は皆優しいです。
0680nobodyさん2006/05/20(土) 23:51:27ID:???
>>679
全員が優しいとは限らない
0681nobodyさん2006/05/21(日) 00:40:52ID:???
そりゃ回答してるのが全部俺だけだからなぁ
0682nobodyさん2006/05/21(日) 01:34:49ID:???
バロスwwwwwwwwww
■ このスレッドは過去ログ倉庫に格納されています