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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/09/10(日) 13:33:48ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、  
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。  
Perl使いが優しくコメントを返しますが、  
お礼はPerlの布教と初心者の救済をお願いします。  
0075nobodyさん2007/01/17(水) 09:50:41ID:???
当方環境がWINなので、ActivePerl5.8をインストールしました。
UNIXサーバーをレンタルしてcgiで動かす場合、通常のPerl5.8は必要なのでしょうか?
ActivePerlと共存しても大丈夫なんですが?
初歩的な質問ですみませんが、教えてくださです><
0076nobodyさん2007/01/17(水) 13:19:17ID:???
>>74
負荷を気にするならPerl CGIを選択する時点で間違い
>>75
バージョンはプログラムによる
PerlとActivePerlは共存させる必要はない
0077nobodyさん2007/02/05(月) 22:01:41ID:Utbdeaaf
Encode.pmは難しいので、使っているサーバがperl5.8対応でも、jcode.plを使ってもいいでしょうか?
本当に、何が何だが分からない質問で、すみません・・・
0078nobodyさん2007/02/05(月) 22:08:13ID:???
使えるよ。置換してるだけだから
0079772007/02/05(月) 22:56:56ID:Utbdeaaf
>>78
返答ありがとうございます。

0080nobodyさん2007/02/07(水) 23:15:43ID:5L64/RF4
dat.txtファイルに
あ
い
う
え
とあって、「う」だけを表示させたいのですが、どういったプログラムになるのでしょうか?
0081nobodyさん2007/02/07(水) 23:59:35ID:???
エスパーさ〜〜ん、かも〜〜ん
0082nobodyさん2007/02/08(木) 01:05:33ID:???
>>80
print "う";
0083nobodyさん2007/02/08(木) 12:46:57ID:ySrCcQfc
別に「う」を表示させたいわけじゃない。
datファイルにある3列目の文字を表示させたい。
0084nobodyさん2007/02/08(木) 14:04:25ID:???
open(IN, "dat.txt");
while (<IN>){
print if($.==3);
}
close(IN);
0085nobodyさん2007/02/08(木) 14:25:54ID:???
open IN, "dat.txt" and print <IN>[3];
テストしてない
0086nobodyさん2007/02/08(木) 15:27:19ID:???
ありがとうございます。感謝です。
0087あっこ2007/02/08(木) 19:36:08ID:LIdpjyEo
A
http://docomo-camera-ne.jp/zeidoroom/20070208192740.jpg

B
http://docomo-camera-ne.jp/zeidoroom/20070208193455.jpg

ソース教えていただけませんか??
0088nobodyさん2007/02/08(木) 19:51:42ID:???
>>87
とりあえずいくつものスレにまたがって質問して回るのを止めろ。
0089nobodyさん2007/02/08(木) 20:48:25ID:???
CGI.pmってバグあるんですか?
バージョンは2.9です。
print $cgi->end_form;
って入力してもプリントされないんですが・・・
0090912007/02/08(木) 20:58:18ID:???
あ、すみません間違えました。

print $cgi->end_form;

ってやると、何故か、
<div></div></form>
ってプリントされるんです。
この<div>はなんなんでしょう?入れた覚え全くないんですが・・・
0091nobodyさん2007/02/09(金) 07:36:17ID:???
>>87
おまえCの宿題スレにもいたけど大丈夫なのか
0092nobodyさん2007/02/10(土) 14:46:42ID:???
CGIレスキューのショッピングバスケットプロ v6を使用しています。
このたび、アフェリエイト用のトラッキングタグを入れることになったのですが、
金額に関する変数の設定がわかりません。

cart.cgi内部の
$fee、$fee2、$SHOKEI2、$SHOKEI2、$orders

setup.cgi内部の
$j

など入れてみましたが、数値が出ません。

タグは注文の最終画面に入れ込みます。
注文IDに関してはすぐに出たのですが。。。。

エロイ方ご教授くださいませ。
0093nobodyさん2007/02/10(土) 17:59:27ID:???
>>92
改造スレへGo

っていうか仕事を2chに持ち込むなYO
0094922007/02/11(日) 12:29:23ID:???
>>93

誘導有難うございます。

がんばってみて、駄目なら移動してみます。
0095nobodyさん2007/02/18(日) 20:10:51ID:???
ttp://www.42ch.net/UploaderSmall/source/1171796861.zip
このスクリプトで、ログファイルへのデータ追加時に
現在の年日時を取得して
2007/2/18 20:09
のような形式で行の末端に自動的に書き込むようにしたいのですが、
どの部分にどのような処理を加えれば良いでしょうか?
0096nobodyさん2007/02/24(土) 08:30:18ID:vuvrJgei
最近外国人が宣伝目的で掲示板に書き込むので、なんどかしたい。
他の掲示板でも攻撃を受けているのをよく見かけます。

特徴としては、アルファベットのみで書き込むので、アルファベットのみの投稿の場合は
エラーにしたいのですが、そんなことは可能でしょうか?

0097nobodyさん2007/02/24(土) 10:17:57ID:???
>>96
EUC-JPだけど
# $str に ASCII 以外が含まれているか判定する

if ($str =~ /[\x8E\xA1-\xFE]/) {
print "含まれている\n";
}
引用元
http://www.din.or.jp/~ohzaki/perl.htm#JP_Exist
0098nobodyさん2007/02/26(月) 13:07:30ID:bWsttIN4
改造です。
先頭行でなく最終行を取得しないとマズいことに気づいたんですが
どうすればいいでしょうか。
---------
if ($in{'ori_ie_id'} eq "admin"){
$bbs1_log_file = "./member/admin/bbs".$in{'bbs_num'}."_log.cgi";
}else{
$bbs1_log_file = "./member/$in{'ori_ie_id'}/bbs1_log.cgi";
}
open(IN,"$bbs1_log_file") || &error("Open Error : $bbs1_log_file");
# 先頭行を取得
$total_counter = <IN>;
($total_counter,$all_total_counter)= split(/<>/, $total_counter);
$top = <IN>;
local($b_num,$b_name,$b_date,$b_res,$b_count,$b_com)= split(/<>/, $top);
--------------------------
0099nobodyさん2007/02/26(月) 16:00:02ID:???
よし、エスパー3級の俺が答えてやろう。

複数行の入力を取った場合配列になる。

@lines = <INPUT>;

この場合に最後の要素はこう所得できる。

$lastline = $lines[-1];

もしくはこう書いても良いだろう。

$lastline = pop(@lines);

これらの違いについてはマニュアルを嫁。

分かったら次からはエスパーじゃなくても分かる言葉で書くように。
0100nobodyさん2007/03/07(水) 21:52:50ID:???
なんか、トロイの木馬が検出されましたと出た。
0101nobodyさん2007/03/22(木) 13:03:52ID:RsfMZKm1
$value = '%e6%97%a5%e6%9c%ac%e8%aa%9e';
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
として走らせたところ、スクリプトをウェブサーバを通して呼んだときと
同じサーバのコマンドラインから呼んだときで
$valueの中が変わってきてしまいます。

linuxコマンドライン:ツづ可づ卍づアツつイ
linux上ウェブサーバ:にほんご

どうしてこうなっちゃうんでしょうか・・
コマンドラインから呼んだときでも"にほんご"とする方法はありますか?
0102nobodyさん2007/03/22(木) 13:08:13ID:???
そのコンソールは日本語表示に対応してますか
01031012007/03/22(木) 14:06:12ID:???
ごめんなさいよくわからないです。
linuxのサーバへはwindows上のtelnetでつないでまして、
さきほど、簡単にprintで"にほんご"と表示させるだけ、
もしくはファイルとして保存するだけのスクリプトを
スクリプト自体の文字コードをいろいろ変えて走らせてみたところ、
どれも漢字混じりでぐちゃぐちゃっとなり、まともに出ませんでした。
これって対応してないって事ですかね。。
0104nobodyさん2007/03/23(金) 12:35:39ID:???
せめてTeraterm使ってください
0105nobodyさん2007/03/26(月) 05:21:22ID:???
表示文字コードを変更できないプロンプトってあるの?
0106nobodyさん2007/04/18(水) 00:42:41ID:2fOrfnuV
#ディレクトリを開く
print "変換するフォルダのパスを入力してください\n";
$folder_path = <STDIN>;
chomp($folder_path); #改行コード削除
opendir(DIR, "$folder_path");
@file = readdir(DIR);
closedir(DIR);

#ファイル名を調べる
foreach (@file)
{
#htmlファイルなら処理
if( $_ =~ /.html/ ){
print "$1\n"; ##ここは呼ばれるが$1が空##
#ファイルを開く
open(F, "+< $_.$1" );
#ファイル1行読み込む
while($line = <F>){
#iso-8859-1をShift_JISに変換
if( $line =~ s/charset=iso-8859-1/charset=Shift_JIS/ ){
print(F "$line");
}
}
close(F);
}
}

htmlファイルの文字コードをかえるコードを書きたいのですが、うまくいきません。
どこが、間違ってるのでしょうか?
0107nobodyさん2007/04/18(水) 01:10:01ID:???
まずエラーメッセージを書こうぜ
01081062007/04/18(水) 01:17:05ID:2fOrfnuV
#ディレクトリを開く
print "変換するフォルダのパスを入力してください\n";
$folder_path = <STDIN>;
chomp($folder_path); #改行コード削除
opendir(DIR, "$folder_path");
@file = readdir(DIR);
closedir(DIR);
#ファイル名を調べる
foreach (@file)
{
#htmlファイルなら処理
if( $_ =~ /([A-Za-z0-9_]*\.html)/ ){
print (STDOUT "$1");
#ファイルを開く
if( !open(F, "+< $floder_path.$1" ) ){
printf(STDOUT "HTML読み込み失敗\n");
}
#ファイル1行読み込む
while($line = <F>){
print(STDOUT "変換\n");
#iso-8859-1をShift_JISに変換
if( $line =~ s/charset=iso-8859-1/charset=Shift_JIS/ ){
print(F "$line");
}
}
close(F);
}
}
としたところ、
ファイル名 HTML読み込み失敗
と表示されます。
0109nobodyさん2007/04/18(水) 01:22:04ID:???
じゃ動いてんじゃん
01101062007/04/18(水) 01:23:05ID:2fOrfnuV
ループにはいるまえに、カレントディレクトリをへんこうし
#カレントディレクトリ変更
chdir("$folder_path");

open(F, "+< $floder_path.$1" )を
open(F, "+< $1" )とすると置換の部分は実行できました。
しかし、置換前の文字が残ってしまいます
0111nobodyさん2007/04/18(水) 01:59:13ID:???
>置換の部分は実行できました。
>しかし、置換前の文字が残ってしまいます

バカじゃないんだから実行前の入力文字列と実行後の出力文字列くらい出せや
0112nobodyさん2007/04/18(水) 02:06:45ID:???
香ばしいなぁw 俺にもあったわこんな時代www

>>108
ファイル変換系の処理は「読み込むファイルに書き戻す」よりも
「読み込みつつ別のファイルに書き出す」ようにした方がいい。
書き出しが終わった後で削除&リネームすればいいだけだし、
途中で処理が止まっても安全。

あと微妙に板違いだから次からはプログラム板行けなw
01131062007/04/18(水) 02:57:11ID:2fOrfnuV
別ファイルに書き出しでやってみます
ありがとうございました。
つぎからはプログラム板逝きます
0114nobodyさん2007/04/18(水) 03:45:43ID:???
島根県のみなさん、パチンコをするなら、

  優良パチンコ店 エ○トワン  

に行こう! 遠隔(※1)をやっていないパチンコ店は「エイ○ワン」だけ!
違法ロム(※2)を使っていないパチンコ店も「エイト○ン」だけ!
○イトワンでは、遠隔等が可能な設備は入れていません。 ロムも、警察がチェックしやすくしています。

詳しい方はご存知の通り、どんなにパチンコの遊戯人口が変動しても、その市場規模は変わりません(※3)。
要するに、客が減っても、残った客から絞り盗る量を増やして調整しているのです。
しかし、何故それが可能なのか?…ご理解頂けると思いますが、9割以上の店が確実に遠隔等を行ってます。
1万店以上のパチンコ店の中で、遠隔も違法ロムも確実にやってないのは「○イトワン」ただ1店です!

※1…遠隔とは
 「お、あの客は新顔だな。勝たせて味を占めさせるか。遠隔操作で設定変更しよ」
 「客が減ってきたな。ま、設定を絞めて(違法)、1人あたりから搾る量を増やせばいいか」
 「あのオヤジ負け続けてるからそろそろ辞めるかもな。今日は勝たせてやるか」

※2…違法ロムとは
 「うちのアタリ確率は、もちろん他と同じ『○○○分の1』ですよ!(ロムいじってるからウソだけど)」

※3       市場規模   遊戯人口
 平成06年 30兆4,780億円 2,930万人
 平成08年 30兆0,630億円 2,760万人
 平成10年 28兆0,570億円 1,980万人
 平成12年 28兆6,970億円 2,020万人
 平成14年 29兆2,250億円 2,170万人
 平成16年 29兆4,860億円 1,790万人
0115nobodyさん2007/04/24(火) 12:15:29ID:???
perlでそれなりに大きなCGIを作ることになったのですが
いろいろな関数をまとめた物を作るときに
それらを単純にまとめただけの外部plファイルを
requireして使いまわすよりも、パッケージ化や
モジュール化して使ったほうが良いと
聞いたのですが、何故でしょうか
0116nobodyさん2007/04/24(火) 14:22:11ID:???
パッケージ化することによって、関数(メソッド)や変数(属性)の名前衝突を避けることができ、
モジュールをつかいまわす場合に有効。
0117nobodyさん2007/04/24(火) 14:37:40ID:RJoF4cmJ
Windowsマシンで、Apache + ActivePerlを使用して、ローカルでPerlの勉強をしているんですが、
Perlのコードにエラーがあると、
use Strict; を記述しても、500 Internal Server Errorになってしまいます。
(どういうエラーが出たか教えてくれない)
エラーを表示させるにはどうしたらいいんでしょうか。

各バージョンは、
Perl v5.8.8
Apache 2.0.59
です。
0118nobodyさん2007/04/24(火) 17:10:54ID:???
>>116
なるほど。変数名の衝突を気にしなくてもいいのは便利ですね
これからパッケージの勉強からしてみます
ありがとうございました
0119nobodyさん2007/04/24(火) 17:23:24ID:???
>>117
スクリプトの頭に

BEGIN {print "Content-Type: text/plain\n\n"; $| = 1; open(STDERR, '>&STDOUT')}

とでも書いとけ
0120nobodyさん2007/04/25(水) 02:24:17ID:lSJlnLTR
>>117
モジュールつかっとけ
use CGI::Carp qw(fatalsToBrowser);


ttp://perldoc.jp/docs/modules/CGI.pm-2.89/CGI/Carp.pod
0121nobodyさん2007/04/25(水) 20:53:26ID:???
[ディレクトリ構成]
xxx/
 index.html
 
 data/
  post.dat

cgi-bin/
 xxx/
  post.cgi

と置いてあります。このとき
#!C:/Perl/bin/perl
open(OUT,">> ../../xxx/data/post.dat");
print OUT "$FORM{'posturl'}\n";
close(OUT);

と post.cgi に記述してみたのですが、うまく
post.dat のほうに $FORM{'posturl'} の内容が書き込めていないようでした。
パスの設定ミスだとは思うのですが…

環境は,windows xp sp2 上 でApache/2.0.45 を使用しております。
どうぞよろしくお願い致します m(__)m
0122nobodyさん2007/04/25(水) 22:02:43ID:???
それだけじゃさっぱり
0123nobodyさん2007/04/25(水) 22:56:34ID:???
自己解決スマソ。
open(OUT,">> ../../htdocs/xxx/data/post.dat");

とすれば良かったみたいです。
htdocs/
- xxx/index.html
- xxx/data/post.dat

cgi-bin/xxx/post.cgi

webプログラムってプログラム以外の部分がややこしい…
0124nobodyさん2007/04/26(木) 16:20:32ID:Xsmaee58
■ Perl言語 ■ 何でも質問コーナー ■
http://mixi.jp/view_bbs.pl?id=17607679&comm_id=1401396
Perlに関すること、cgiに関すること
なんでも質問できるコーナーです(たとえばApacheとかでもOKとします!)
(Web系であればOK)

ルール:
Google検索で調べてわかるようなことでも質問してもOKです
(初心者のうちは、どの情報を取捨選択したらイイのかわからないと思うので)
回答してくださるかたは、暖かく質問者を迎えてやってください
o(^^o) (o^^)o
0125nobodyさん2007/05/01(火) 16:23:34ID:???
PerlでファイルアップロードCGIを作ろうとしています。
「1. ファイルを選ぶ 2. 確認画面 3. 送信完了」と動作させようとして
躓きました。2. 確認画面を表示しない場合はうまくいくのですが、
確認画面を間に挟むと空のファイルがアップロードされてしまいます。

1 から直接 3 にいくプログラムは次のように組んであります。
 1. CGI.pmを使ってfilefield('file');でファイル選択させる。
 3. $fh = upload('file'); でファイルの情報を得て、
   while(read...){print...} でファイルを書き込む。

2 をはさむときは、param('fh', $fh); print hidden('fh');
として情報を保存しました。

たぶん、上の方法では必要な情報を保存しきれていないのだと
思うのですが、どうすればよいかわかりません。よろしくお願いします。
0126nobodyさん2007/05/03(木) 02:37:57ID:???
無理
0127初心スレ861(481)2007/05/25(金) 22:03:25ID:1LPPhSSe
質問です

if(a=1){
if(b=1){
print "○○○"
}
}
というようにIFの中でIFは可能ですか?
0128nobodyさん2007/05/25(金) 22:17:31ID:???
歴史にIFなど無いのだよ
0129nobodyさん2007/05/25(金) 23:10:03ID:???
>>127
なぜ不可能だと思うんですか?
0130nobodyさん2007/05/25(金) 23:29:35ID:???
>>129
うごいていたプログラムのIFの中にIF入れたら壊れたからです
何か他にげんいんがあるのかお
0131nobodyさん2007/05/25(金) 23:47:26ID:???
お前のプログラム知識だよ
0132nobodyさん2007/05/26(土) 05:47:48ID:???
if(a=1)

なんか懐かしいなw
こういうの見たの15年ぶりだよ。
0133nobodyさん2007/05/26(土) 23:39:33ID:???
perl 関連スレッドに機会があったらいつか書こうと思って
たんだが、機会が無いのでここに独り言として書く。

[初心者のための perldoc ]
perldoc は、本を開かなくともいつでも開くことが出来る手軽なリファレンスだ。

ターミナルで「perldoc perl」と打ち込むだけで概要が出てくる。SYNOPSIS に
リストがつらつら書かれているがそれぞれ perldoc で呼び出すことができる
1. とりあえず基礎の基礎を読んでみたいなら「perldoc perlintro」
 ( for, while, if などもここを最初に )
 array of array などなら「perldoc perllol」
 正規表現なら、「perldoc perlre」
 スイッチ(所謂コマンドラインオプション)なら「perldoc perlrun」
 etc...
 これらの文章中 see perlxxxx.... と書かれていたら素直に
 「perldoc perlxxxx」すればよい。
2. 個々の関数について調べたいなら
 「perldoc -f reverse」
 などと f オプションを付けて実行する。
3. 取り敢えず、なんか判らんって時。例えば「配列」
 「perldoc -q array」
 faq の中から array を含む文章拾ってくれる。但し question のみ。
4. 個々の説明文 pod にアクセスしたい時
 「perldoc Tie::File」
 「perldoc strict」
5. 「perldoc -h」すれば、perldoc の使い方の説明が出てくる。
perldoc の中身には例文も出てくるので、英語が判らんでも 2ch に
相談するまえに見てみることをお勧めする。
どーしても、という方には web 上にはそれなりに翻訳された perldoc が
あるのでターミナルで「perldoc perl」でリストの中から目星を付け、
そのファイル名で検索するのも良い。
(但し最新版ではない事がほとんどなので注意が必要)
0134nobodyさん2007/05/29(火) 00:59:04ID:+KVPsKMz
質問です。

#!/usr/bin/perl

open (IN,"< http://あqwせdrftgyふじこ/test.dat") ;
@LINES = <IN>;
close(IN);

print "Content-type: text/html\n\n";
print "<html><head></head><body>";

foreach(@LINES){
 print $_ . "\n";
}
 print "</body></html>";
}

こんな感じでhttpから始まるURLをうって
ファイルを開いて処理したいんですがどうやら読めないっぽいです。

open (IN,"test.dat") ;
に変えると動いてくれるのですが、、、

仕様上不可能なんでしょうか?
0135nobodyさん2007/05/29(火) 01:19:04ID:???
>>134
allow_url_fopen が効いてる PHP みたいな、裏でどうにかしてくれる仕掛けはありません。
LWP使えば外部のファイル自体は取得できるけど。
0136nobodyさん2007/05/29(火) 02:04:54ID:+KVPsKMz
>>135
こんな時間にレスあり ><

use LWP::Simple;
$a = get("http://くぁwせdrfgyふじこ/test.dat");

で取得できました。ありがとうございました。

これで気持ちよく眠れます。
0137nobodyさん2007/06/03(日) 00:26:01ID:???
久しぶりにperlでcgi作ろうかと思うんだけど、今はutf8で書くのが一般意的?
0138nobodyさん2007/06/03(日) 13:53:14ID:???
なんでもおk
0139nobodyさん2007/06/05(火) 13:52:29ID:???
ブラウザで操作をして
自サーバ内のファイルを別サーバへコピーしたいんですが(セキュアFTPサーバ)
Net::FTP
を使って、セキュアなFTPサーバへ接続は出来ますか?
もしくは、可能な別モジュールってありますか?
0140nobodyさん2007/06/07(木) 14:40:32ID:TOlQmlY8
すいません。
定期的にフォーム部品の個数が変わるフォームで、
1コでも未記入があった場合にエラーが出したいんです。

radio1
radio2
radio3
textarea1
textarea2
radio4
・
・
・
その時によって、フォーム部品の数が増えたり減ったりします。
汎用的に未記入があった時にエラーを返すにはどうしたらいいでしょう?
0141nobodyさん2007/06/07(木) 15:58:44ID:???
フォームにフィールド一覧をhiddenで入れておくとか
0142nobodyさん2007/06/07(木) 16:38:40ID:???
それはだめだろw
0143nobodyさん2007/06/07(木) 17:31:11ID:???
エンティティボディに=&か=$があったら落とせばいい
0144nobodyさん2007/06/07(木) 17:33:24ID:???
それでは駄目

仕様上は未入力のフィールドは送信しなくてもいいことになってるんで
0145nobodyさん2007/06/07(木) 17:51:47ID:???
そんな細やかなもんなら全部やるしか無いでしょ
どのみちレングスや内容を全部調べるんだろうし
0146nobodyさん2007/06/08(金) 11:15:29ID:???
>>144
inputがあるのに未入力を検出したいってんなら>>143で問題ないと思うのだが。

>仕様上は未入力のフィールドは送信しなくてもいいことになってるんで
って何の仕様の話?
0147nobodyさん2007/06/08(金) 12:03:20ID:???
>>146
HTML 4.01
01481402007/06/08(金) 13:54:24ID:i/tb2omn
144は私ではないです。

みなさんありがとうございます。
>143さんの方法が良さそうですね。
ところで、エンティティボディって何の事でしょう・・・・?

すいません、ぐぐってみます;
0149nobodyさん2007/06/08(金) 17:32:56ID:rRYhakqE
お世話になっております。

今現在Perlを使用したCGIを作成していて困った事があるので相談させていただきます。

HTML側が
----------------
<form method="POST" ENCTYPE="multipart/form-data" action="edit_completion.cgi">
<input type="file" name="TENSOU">
:
----------------
としていて受け取るCGI側を
----------------
:
my $cgi = new CGI;
my $image = $cgi->param('TENSOU');
my $file_name="./test.jpg";
my $buffer;
open(OUT, ">$file_name") or die(qq(Can't open "$file_name".));
binmode OUT;
while (read($image, $buffer, 1024)) {
print OUT $buffer;
}
close OUT;
:
----------------
としているのですがうまく受け取れません、、、
上記perlは昔自分が書いたものを参考にしたのですが
ナニを参考にしたのか覚えていません。

どこか使用方法が載っているURL等お教えいただけないでしょうか?
0150nobodyさん2007/06/09(土) 13:37:43ID:???
ttp://www.harukaze.net/~mishima/perl/module/upload_by_CGI_pm.html

ここを参考にしたら?
0151nobodyさん2007/06/10(日) 18:01:18ID:???
Perlを勉強し始めて一ヶ月ぐらいかな・・・
仕事の傍らちょこちょこやってて
今「続・初めてのPerl」のオブジェクト指向とかリファレンスのトコ
そこ入ったらいきなりクラスとかメソッドとか初出の単語が連発してきてかなり混乱
なかなか頭に入ってこなくて泣きそう(つωと)
0152nobodyさん2007/06/10(日) 20:07:23ID:???
>>151
「続・初めて」
は題名に反して、「リャマ、ラクダ、CookBook、Best Practice、etc.」を
読んだ後に読む本だぞ。
0153nobodyさん2007/06/11(月) 00:16:13ID:???
>>152
レスありがとうございます
う、そうなんですか・・・もっと吟味すればよかった(・ω・`)
リャマは読み終わりましたのでラクダ本検討してみます
しかし高い・・・

後、やっぱりUnix環境整えた方がいいですよね
今までWindowsのみでやってきたので、Unixの事はチンプンカンプンですけど
WindowsみたいにOSのパッケージを買えばいいのかな・・・調べてみようと思います
ありがとうございました
0154nobodyさん2007/06/11(月) 01:57:28ID:???
ム板「質問箱 30」の704 からの流れも参考にしとけ。

後半は、マカーなので分らんw
が、Windows だけで完結してそうな人も多いし、Cygwin
辺りで慣れるだけじゃダメなのかなあ。
もちろん業務とかが絡む人は別だけど。
0155nobodyさん2007/06/11(月) 02:16:08ID:???
「原題」ってなんだったっけ、ってサイトに行ってみたら
ttp://www.oreilly.co.jp/books/4873111676/
絶版になったのか、、、
0156nobodyさん2007/06/11(月) 23:50:11ID:kL3eCwRQ
Perl初心者です。

スクリプトの文法チェックをしたいのですがどなたかいいツール知りませんか?

検索してみたのですがなかなかいいのが見つからなくて。
0157nobodyさん2007/06/12(火) 02:23:49ID:???
文法チェックなら perl -c でやりゃいいじゃん。
もう少し厳しくみるなら perl -wc

perldoc perlrun くらいはしといてくれ。
0158nobodyさん2007/06/12(火) 12:32:30ID:0KbPnFiH
>>157

ありがとう、早速試してみます。
0159nobodyさん2007/06/12(火) 12:43:31ID:???
>>157
ここは超初心者用だ
お前のような排他的な奴は出て行け
0160nobodyさん2007/06/12(火) 14:08:36ID:???
>>159
排他って言葉の意味わかってるのか?
0161nobodyさん2007/06/12(火) 16:16:31ID:0KbPnFiH
ついでにおすすめのエディタもお聞きしたいのですが?
0162nobodyさん2007/06/12(火) 16:55:27ID:???
>>161
windows?
秀丸とかEmEditor、金出したくなければ
xyzzyあたり。
0163nobodyさん2007/06/12(火) 17:19:53ID:0KbPnFiH
>>162

windowsです。

普段は秀丸を利用しています。
秀丸はHTMLは書きやすいのですがPerlは微妙です。

Perlに特化した感じのエディタがないかいろいろ検索中ですがなかなかいいのが見つからなくて。
0164nobodyさん2007/06/12(火) 18:56:13ID:???
xyzzyとか、unixで主に使われるエディタなら
perl用のモードがあるよ
Emacsとかvimとか。
windows用もあるけど、初心者お断り的な
ところがあるから、慣れるまでは
大変かも。

希望の機能とかはあるの?
0165nobodyさん2007/06/12(火) 21:45:38ID:0KbPnFiH
>>164

やっぱ色分けはわかりやすいほうがいいですね。
秀丸はヒアドキュメントの部分がわかりづらくて。

あとは文法チェックやプレビュー機能なんかがあればうれしいですね。


開発環境にこだわるのはある程度知識身につけてからのほうがいいのでしょうか…
なんせまだPerl勉強して1ヶ月もたってないもので…
0166nobodyさん2007/06/12(火) 23:26:18ID:???
PerlEditor ただしUTF-8非対応
Eclipse + PerlPlugin
0167nobodyさん2007/06/12(火) 23:37:16ID:???
>>165
つーかまずコード書こうや
道具選びはそれからでも遅くない
0168nobodyさん2007/06/13(水) 02:12:53ID:???
>>165
最初はそんなにでかいコード書くこともないだろうから、
それこそメモ帳でなきゃ適当なエディタでいいと思うけどね。

とりあえずこいつは構文チェックをしてくれるらしい

http://activestate.com/Products/komodo_ide/feature_list.plex

体験版はあるみたいだけど基本的に金だして買わなきゃいけないし、
ドキュメントは英語だけ。

ところでプレビュー機能ってなに? CGIでも作るの?
0169nobodyさん2007/06/13(水) 12:39:29ID:Ij6cMTyX
とりあえずエディタはこれかPerlEditor落ち着こうと思います。
http://www.forest.impress.co.jp/lib/stdy/program/progeditor/perlhajime.html


PerlはCGI作るために勉強しはじめました。
とりあえず10日で覚えるPerl/CGIという入門書を読んで勉強中です。
0170nobodyさん2007/06/13(水) 18:17:02ID:???
私は一晩で学ぶSQLを買いました。最終的に3年かかりました。
0171nobodyさん2007/06/14(木) 13:02:46ID:???
ワロタ
0172nobodyさん2007/06/14(木) 19:02:31ID:MrJTWOJA
CGIで質問フォームを作ってそれが完了したと同時にメールが送られるようにしてるんだけど、
一定文字数を越えると文字化けしてしまう。。
誰かこの文字化けが何系の文字コードか分かる方います??

$"$($($($($($($($($($($($($($($($($($($($($($($($($($($($($($($($($($($($3$3$G2~9T$*$*$*$*$*$*$*$*$*$*$*$*$
0173nobodyさん2007/06/14(木) 19:21:03ID:???
別スレに書き込みますすいません。
0174nobodyさん2007/06/15(金) 18:43:38ID:3CYhNC9F
Perlを勉強するうえで読んでおいたほうがいい書籍ってなんですか?
■ このスレッドは過去ログ倉庫に格納されています