回答数
気になる
-
文字コードについて
楽し (&は半角です。) というような文字コード?で文字が記入されています。これはなんという文字コード名なのでしょうか? これを通常の文字として読めるように変換したいと考えていますが、可能でしょうか?よろしくお願いいたします。
質問日時: 2011/10/10 06:49 質問者: TPR_SET
ベストアンサー
3
0
-
perlのcgiで、変数の中身を表示させたい
cgiで変数の中身を表示させたい perlのcgiで変数の中身を表示させたいのですが、うまくいきません ▽環境 レンタルサーバ ▽やりたいこと 通常のブラウザ画面に、変数の中身を表示させたい ▽現状 use Data::Dumper; print Dumper($hoge));もしくは、warn Dumper $hoge; とすると、下記エラーとなります Script Error The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run thisscript under CGIWrap debugging. Usually, either rename or linkthe script temporarily to a file which ends with .cgidextension, or add a AddHandler cgi-script-debug .cgiline to your .htaccess file. 指示に従い、.htaccessへ、AddHandler cgi-script-debug .cgiを追記すると、ズラズラ出てきたと何か出てきた中の一行に、変数の中身が表示されます ■質問事項 ▼変数の中身を確認する際、いちいち.htaccessへ追記するのが面倒なのですが、どうやって回避するのでしょうか? ▼なぜ、変数の中身を確認しようとしただけで、Script Errorとなるのでしょうか? ・書き方を間違えている? ・書く場所を間違えている? ・レンタルサーバの仕様? ・perlのcgiだから? イメージしてるのは、PHPのvar_dumpなのですが…
質問日時: 2011/10/07 02:33 質問者: re999
ベストアンサー
1
0
-
ubuntuとperlについて
私は今、ubuntuを勉強しているのですが、ubuntuにはもともと、 perlを使えるようなソフトが入っていると本に書いてあったのですが、 ubuntuに標準で入っているソフトはactiveperlなどと同じようなプログラミングができるのでしょうか? また、perlのコードを記述する際、初心者でも使えるようなおすすめのテキストエディタなどがありましたら、教えてください。
質問日時: 2011/10/06 03:50 質問者: boring-test
解決済
1
0
-
perlでc言語の実行処理を行いたい
perlでcのプログラム処理を行いたいのですが可能でしょうか。 内容としては、 複数のファイルをcのプログラムによって別のファイルにアウトプットする形にしたいと思っております。 よろしくお願いします。
質問日時: 2011/10/03 23:26 質問者: kakarin1217
ベストアンサー
3
0
-
perlでゾンビプロセスが発生
お世話になります。 サーバーの変更後に、 それまで使っていたCGIでゾンビプロセスが発生するようになってしまいました。 以前のサーバーはFreeBSDでそのような事がなかったのですが、 新しいサーバーCentOS5になってから発生するようになってしまったのですが どのような原因が考えらますでしょうか。 perlやSSIを使った時にだけ発生してしまいます。 色々しらべてはみたのですが、 mod_cgid.so SSIではこれを無効にすればよいと言うのを見かけまして apache2のhttpd.confを見てみたのですが LoadModule cgi_module modules/mod_cgi.so のみで 存在していませんでした。 同じプログラムでサーバー変更前はゾンビプロセスは全く発生しなかったのですが、 変更後に今まで大丈夫だったすべてのCGI(perl)プログラムで ゾンビプロセスが発生するようになってしまいました。 ゾンビプロセス自体は、発生後に消える状態ではあります。 これだけの情報では予測もつかないと思いますが、 もし何かこれが原因では・・・と言うのがございましたらご教授いただけますと幸いです。 お手数をおかけしますが、何卒よろしくお願い致します。
質問日時: 2011/10/02 23:54 質問者: bou1025
ベストアンサー
2
0
-
一部が重複しているデータのマージ
こんにちは。 どうやって書いたらいいのかわからなくて質問しました。 皆様のお知恵を拝借できませんでしょうか。 以下のようなデータがあります。 1行目:100円 りんご 2行目:100円 みかん 3行目:100円 バナナ これを以下のようにマージして一行で出力したいのです。 100円 りんご,みかん,ばなな どうかよろしくお願いします!
質問日時: 2011/10/01 14:18 質問者: hachibunbunbun
ベストアンサー
2
0
-
printfの書式指定での2バイト文字の巾
2バイト文字、1バイト文字どちらもありうる(構成が不明である)文字列をバイト単位で桁揃えして出力したいのですが、 use encoding 'cp932'; printf "|%2s\n|","あ"; printf "|%2s\n|","aa"; とすると、出力結果は当然 | あ| |aa| となって、桁が揃わないですよね。「バイト単位で2バイト分の巾」という指定を実現するにはどうしたらいいのでしょうか。日本語処理ではよくある問題だと思うのですが。
質問日時: 2011/09/28 10:46 質問者: mimizuku32
ベストアンサー
2
0
-
Linux上でのPerlの利用法の利点について
もう既に散々論じられていると思うのですが、PHPとPerlの利用法などでの違いを教えてください 自分はPHPとJavaScriptしか出来ませんが、Perlに興味があります。 Web系を作成するのにはPHPで特に問題はありません。 しかし、MySQLなどのサードパーティ製ソフトなどをインストール時にPerl(モジュールやMakefile等)を使用しているのが多いですが、PHPを利用しているというものはありません。 PHPはWebに特化し、コマンドラインから操作できないこともないですが、全く見たことがありません。 そういう点で両者は違う点があると思うのですが、それ以上は自分には分かりませでした。 自分はデータを取ってきて、それを加工して利用したいと考えているのですが、PHPでは自分のやりたい事に限界が出来てしまいます。 で、シェルを含めてLinux上で色々と自動化をしたいと考えているのですが、この場合Perlスクリプトで出来るのかなと思いまして。 PHPで出来ることはPerlで出来る、Perlで出来ることもPHPで出来ると見たことがありますが、PHPに出来ない、PHPよりも優れている点、そして特に自分が知りたいのはLinuxで利用するスクリプト(シェル)としての利用法なのですが、その場合の限界などを教えていただけませんでしょうか? Web上で調べたのですが、いまいち要点を得られませんでした。
質問日時: 2011/09/27 20:07 質問者: chopperin
ベストアンサー
3
0
-
条件分岐によってuseやrequireをする
ある条件を満たすときだけuse(あるいはrequire)をするということはどうしたらできますか。例えば、次のように、perlの版を判別してuseする/しないを分岐したいのですが、ifではできません。目的は、jperl環境で作成したプログラムを最新のperl環境に移行することです。 if ($]=~/^5\.12/){ use encoding 'cp932'; use Encode; use subs qw(length); sub length { CORE::length(encode('cp932',shift)); } #以下色々な関数を定義する }
質問日時: 2011/09/27 19:45 質問者: mimizuku32
ベストアンサー
2
0
-
Perl 指定行への書き込み
#!/usr/bin/perl require './jcode.pl'; $file = "houkoku.txt"; if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &jcode'convert(*value,'sjis'); $value =~ s/</</g; $value =~ s/>/>/g; $value =~ s/\t//g; $value =~ s/\r\n/\n/g; $value =~ s/\r/\n/g; $value =~ s/^\s+//; $value =~ s/\s+$//; $FORM{$name} .= (defined $FORM{$name}) ? "," . $value : $value; } open( WRITE, "+< $file" ); print WRITE $FORM{'name'},",",$FORM{'color'}."\n"; close(WRITE); foreach ( keys %FORM ) { if( $FORM{$_} eq '' ) { $FORM{$_} = '入力がありません'; } } #if ( $FORM{'name'} eq '' ) { $FORM{'name'} = '入力がありません'; } if ( $FORM{'color'} eq '' ) { $FORM{'color'} = '入力がありません'; } print "Content-Type: text/html\n\n"; print <<END_HTML; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <center> <table border="1"> <td> $FORM{'name'}</td> <td> $FORM{'color'}</td></tr> </table> </center> </body> </html> END_HTML exit; として、カンマ仕切りでデータを保存できるようになりました。 これを、指定行への書き込みを行いたいのですが、どのようにしたら良いでしょうか。 たとえば、5行目にこのデータを書き込んで、常に5行目を上書き更新するような感じです。 よろしくお願いします。
質問日時: 2011/09/27 17:06 質問者: spider32
ベストアンサー
7
0
-
Perl 条件一致なし 合計値 0表示
条件指定して、一致したものを合計するプログラムを作っています。 しかし、条件にまったく一致する行が無い場合、空欄になってしまい、 次の行が表示されません。 open (IFILE, $file) or die "$!"; while ($line = <IFILE>) { chomp($line); @column = split(",",$line); if ((@column[7] eq $kensouken) && (@column[4] eq $tantou1) && (@column[32] >0 ) && ( @column[33] <=0 )) {for($loop = 1;$loop <= 5;$loop++) { $total3[$loop] += @column[32]; }} elsif ((@column[7] eq $kensouken) && (@column[4] eq $tantou1) && (@column[32] <= 0) && (@column[33] > 0)) {for($loop = 1;$loop <= 5;$loop++) { $total4[$loop] += @column[33]; }}} print "$total3[1]"; print "$total4[1]"; としています。上記2つの条件にマッチしない場合、$total3、$total4が無効になっているのでしょうか。 次に書いている行が表示されなくなってしまいます。 条件に一致しない場合、0を表示したいのですが、どうしたら良いでしょうか。よろしくお願いします。
質問日時: 2011/09/25 13:23 質問者: spider32
ベストアンサー
3
0
-
perlでフォルダ作成
こんにちは。 毎日、その日の日付のフォルダ名を作成して作業をしているのですが、 毎回、その作業に手間がかかるので、Perlを用いてフォルダを作成したいと思っています。 普段、Perlを用いて処理をすることが多いので、 今回もPerlでプログラムを作りたいと思っているのですが、 Windows環境(windows7)でPerlを用いてフォルダを作成することは出来るのでしょうか。 やりたいことは、プログラムを実行するだけで、その日の日付をフォルダ名とするフォルダの作成です。 例えば、2011年09月23日ならば、 フォルダ名が、『20110923』となるようなプログラムを書きたいと思っております。 出来るかどうかをご存じの方は、ヒントもしくはサンプルプログラムをご教授ください>< よろしくお願いします・・!
質問日時: 2011/09/23 11:38 質問者: masasyou
ベストアンサー
1
0
-
perlについての質問です
&あああ("ファイル名1", "AGT"); &あああ("ファイル名2", "ACA"); &あああ("ファイル名3", "TAT"); &あああ("ファイル名4", "TGA"); sub あああ{ open(FILE, "処理させるファイル") or die "$!"; my ($file, $tag) = @_; open(NEWFILE, "> $file") or die "$!"; my $x = 0; my @ti; while(<FILE>){ if($_ =~ "^>"){ $x ++; $ti[$x] = $_; } elsif($_ =~ "^$tag"){ print NEWFILE $ti[$x].$_; } } print "$x\n"; close NEWFILE; } このプログラムをサブルーチンではなく forかなんかで実行させ 自由にファイル数と$tagを設定し 実行できるようにしたいのですが できますでしょうか>< forをまわす回数を指定しSTDINなんかで指定し そのforの中でファイル処理に必要な条件や 吐き出すファイルの名前をSTDINで指定するようなものを書きたいです ちなみにperl初心者です 質問が意味不明かもしれないです>< よろしくおねがいします
質問日時: 2011/09/21 21:20 質問者: nyanya_tear
ベストアンサー
2
0
-
メールフォームからメールが届きません
メールフォームからのメールが届きません kent-web でclipmailをダウンロード・設置して チェックモードでエラー確認、CGIも作動しております。 HP上も正常に動作、相手にも確認メールが届くのですが こちらに届きません 原因が分からずネット上で色々と 検索したのですが答えが見つからずこちらで質問させていただきたく 書き込みしました。 HPはこちらになります。 http://saitamaya.cc/kantan.html どこの記述がおかしいのでしょうか? 宜しくお願い致します。
質問日時: 2011/09/21 06:26 質問者: saitamayadesu
解決済
2
0
-
perlの正規表現について
perl初心者です。 早速ですが質問です。 複数のファイルが存在するフォルダ内にて、「~.abc.txt」というテキストファイルのみを 読み込みたい場合はどのように指定すればよいのでしょうか。 #open (F,○○)という表記になるかと思うのですが、 #適当な正規表現が分からず苦労しております。 お分かりになる方いらっしゃいましたら、ご教授してくださいませ。 以上です。 宜しくお願いいたします。
質問日時: 2011/09/19 16:18 質問者: gsc21356
解決済
3
0
-
PERLのSHIFT_JISの振る舞いについて
PERLでプログラムを作る時、SHIFT-JIS形式で長音符(ー)があると、エスケイプしてもエラーが出てしまい困っています。 また、ホームページそのものがSHIFT_JIS形式のため、UTF-8など他の形式を使うと煩雑になるため避けたいと思っています。 エスケイプさせるなど簡単な方法は無いものでしょうか? また、こちらはご存じでしたら教えていただきたいのですが、「¥」マークでエスケイプしてもうまくいかない文字には他にどの様なものがありますでしょうか? ---test.pl---SHIFT_JIS形式---- $| = 1; $test = "\テ\ス\タ\ー"; $test =~ s/\テ\ス\タ\ー/tester/; print $test; エラーを見ると、 Unmatched [ in regex; marked by <-- HERE in m/\テ\ス\タ\ー <-- HERE / at test.pl line 3. とでます。
質問日時: 2011/09/17 16:35 質問者: aki_toyama
解決済
4
0
-
perlで必要な所までHPを取得したい
ローカルにperlプログラムを置いています。 このプログラムでサイトのHPに定期的なアクセスしています。 必要な情報はページの中間程度に入っています。 現在は、LWPを使っているのですが、全て情報を取得してから必要な情報を解析するため速度アップの為の改良余地があるように感じています。 HPを全部読む必要はなく、少しでも速いプログラムを作りたいのですがどの様にすればよいでしょうか?
質問日時: 2011/09/17 04:43 質問者: aki_toyama
ベストアンサー
2
0
-
indexと正規表現はどちらが早い?
1行につき40文字前後で(固定長ではない)、1ファイルにつき約1億行書かれたファイル(1ファイルにつき3-5GB程度のテキストファイル)が30ファイルあります。ファイルは、すべてアルファベットで構成されていていますが、スペースは含まれておらず、各行の末端は改行(\n)で区切られています。これらのファイルからある特定の文字に完全にマッチする部分が含まれる行が各ファイルごとに何行あるのかを調べたいと思っています。検索する文字列の長さは10-20文字のものをいろいろと調べたいと思っています。 この作業をperlで行う場合、index関数を使って検索をするのと、正規表現を使って検索をするのでは、どちらが早いのでしょうか?もしくは、他に良い方法やmoduleがあるようでしたら教えてください。 よろしくお願いします。
質問日時: 2011/09/16 08:01 質問者: Myc
ベストアンサー
4
0
-
perlでの平均計算について
以下のようなデータがあります。そこでカラム1が等しい値をもつものを一グループとし、カラム2の平均値を求めたいのですが、なかなかうまくいきません。どなたかご教授をお願いいたします。よろしくお願いします。 カラム1 カラム2 1 123.93 1 322.32 1 232.21 1 124.32 1 234.12 2 123.43 2 12.34 2 . 2 . 2 . 3 3 3 4 4 4 4
質問日時: 2011/09/13 07:31 質問者: perl_prac
ベストアンサー
3
0
-
Jcodeというか、Encode.pmが
現在最新版(開発停止)のJcode.pm は Encode.pmのwrapperとして動作していますが、 「~」という文字という文字を、他コードからUTF-8に変換する 時に、日本語のコードセットの中では 本来「\xef\xbd\x9e」に変換されなければいけないのが、 「\xe3\x80\x9c」に変換されてしまいます。 このような例で他にある文字があれば、教えて頂ければと 思います。
質問日時: 2011/09/12 08:12 質問者: ymda
ベストアンサー
1
0
-
数字のカンマ編集(続)
一つ前で質問しました。 そして参考文献を教えて貰い、読んでみました。 以下のサンプルが説明されていましたが分かりません。 1 while s/^([-+]?\d+)(\d\d\d)/$1,$2/; 説明は何となく分かるのですが、実際のコーディングを具体的に教えてください。 目的の数値は $wkに入っています。 宜しくお願いします。
質問日時: 2011/09/09 20:03 質問者: nagahaha
ベストアンサー
1
0
-
数字のカンマ編集
$wk =~ s/(.*\d)(\d\d\d)/$1,$2/;とやって、 単純に $1,$2をプリントしています。 桁数が4桁以上なら問題ないのですが、 桁数が4桁未満だとおかしな出方になります。 4桁未満の時の考え方を教えてください。 宜しくお願いします。
質問日時: 2011/09/09 14:30 質問者: nagahaha
ベストアンサー
1
0
-
10進数→2進数の出力について
コマンドライン引数から10進数の値を入力して 2進数に変換して出力しようとしています。 ※入力される10進数の値はかなり大きなものを想定しています。 現在は下記のようなコードで変換しようとしていますが失敗しています。 動作環境は『WindowsXP、Activeperl-5.12.4.1205』です。 拙い説明ですが、よろしくお願いいたします。 # コマンドライン引数は「9223372036854775808」 $n = unpack("B8", pack("C", $ARGV[0])); print n; # 実行結果は「11111111」 # 期待している出力結果は「1000・・・000」(←0が64個) 9223372036854775808
質問日時: 2011/09/08 11:18 質問者: noname#142160
ベストアンサー
3
0
-
requireしたライブラリにuseを記入
メール送信のプログラムを作っています。 本体のプログラムmain.cgiから、 メール送信用のサブルーチンを記入した、 email.plというのを require 'email.pl'; とメール送信が必要な場合だけ読み込んでいます。 この email.plに use Encode; や use Jcode; のようにuse文を記入するのは、 Perlの作法としては適切なのでしょうか。 それともuse文はmain.cgiに記入するのが適切なのでしょうか。 email.plにuse文を記入しても動きますし、 main.cgiにuse文を記入した場合とベンチマークを比べたりしましたが あまり変わらないのですが、 useはコンパイルしたときに実行されるので、 実行のときに読み込まれるrequireしたライブラリに記入していいのか不安なのです。 私としては必要なときだけ読み込みたいので、 email.plにuse文を記入したいのですが。 どうぞよろしくお願いします。
質問日時: 2011/09/08 02:36 質問者: neko173
解決済
1
0
-
Perlの文字コード変換について
ActivePerl-5.14を使っているのですが、文字コードの変換はどのようにすればいいのでしょうか。 ローカル環境で動かしているのですが、Shift-JISのテキストを読み込んで、EUC-JPに変換したいと思っているのですが、 今まで5.8を使っていたので、Jcodeを使って、&Jcode::convert(\$txt,'euc'); としていたのですが、5.14ですと use Jcode; の時点でエラーになってしまいます。 use Encode; を使って、 from_to($txt, 'shiftjis', 'euc'); としてみましたが、 from_to($txt, 'shiftjis', 'euc'); のところでエラーになってしまいます。 ActivePerl-5.14ですと、どのように文字コードの変換をすればいいのでしょうか。 どなたか教えてください。 よろしくお願いいたします。
質問日時: 2011/09/06 11:03 質問者: gosp1
ベストアンサー
2
0
-
他サイトのフォルダ内ファイル一覧作成
この前、フォルダ内のファイル一覧を取る関数を教わりました。 @files = glob "$folder*"; そこで質問ですが、 上記の$folderに他のサイトを指定することは出来ないでしょうか。 やりたいことは、aのサイトに上記のcgiを書いて、 サイトbのフォルダの一覧を取りたいのです。 (この質問のとおりのcgiが出来れば、$folderを指定することで汎用的に ファイル一覧が可能となるので質問しています。) 宜しくお願いします。
質問日時: 2011/09/04 20:53 質問者: nagahaha
ベストアンサー
1
0
-
フォルダ内ファイルの参照とリスト作成
以下のことをやりたいのですが、 教えてください。 在るフォルダ(例えば;abc)にファイルをアップロードします。 そのファイルをユーザーにダウンロードさせるのですが、 条件として、当該ファイルの名称を変更できません。 ファイル名を固定(アップロード時に変更)できれば、 どうにでもなりますが、それが出来ないために、 アップロードされたファイルを見に行って名称を把握、リストする、 ということがやりたいのです。 一言でいうと、 フォルダにあるファイルをリストする方法が知りたいのです。 ユーザーに提供するのは、「ダウンロード.html」という格好を考えています。 このhtmlを作るcgiを考えたいのです。 宜しくお願いします。
質問日時: 2011/09/02 11:11 質問者: nagahaha
ベストアンサー
1
0
-
$ENV{'HTTP_COOKIE'}について
windowsサーバーのcgi(※)にて「$ENV{'HTTP_COOKIE'}」でcookieの値が正常に取得できてましたが、 linuxサーバーにそのソースをそのまま移行し、動作確認したところ「$ENV{'HTTP_COOKIE'}」でcookieの値が取得できなくなってしましました。 (※)・・・ショッピングカートの処理 ちなみにSSLを使用しているページです。 (1)画面A(http)から「カート入れる」ボタンをクリックし、画面B(https)に遷移 (2)画面Bに遷移した際にcookieに取得、保存 要するにhttpsでセットしたものをhttpsゲットしようとしています。 サーバーの環境は以下となります ■windowsサーバー ・OS : Windows 2003 R2 SP2 ・Perl ver : 5.8.7 ■linuxサーバー ・OS : Red Hat Enterprise Linux 4 ・Perl ver : 5.8.8 ・パーミッション : 757 ロジックは変更していないのでおそらくサーバーのどこかの設定を変更しなければならないのではないかと思われますが、どこに手を付けてよいのかがわかりませんので ご教授していただきたいです。 宜しくお願い致します。
質問日時: 2011/09/01 01:14 質問者: tanictanic
ベストアンサー
1
0
-
perlで配列のポインタをdllに渡すには?
Active Perlの最新版(x86)を使っています。 C言語側で、 //配列の先頭要素へのポインタと配列の要素数を渡すと、要素の平均を整数で返す関数 int avr(int *array,int kazu) { int value=0; for(int i=0;i<kazu;i++) { value+=*(array+i); } return value/kazu; } などと書いて、avr.dllとしてビルドしたものを(モジュール定義はdefファイルにて指定)、 use Win32::API; my $function = Win32::API->new("avr", "avr", "PN", "N"); @array=(1,2,3,4,5); $avr=$function->Call(\@array,5); print "Content-type: text/html\n\n"; print $avr; と使ってみたのですが、出力値が期待の「3」ではなく、-123343252とか435893497などの無茶苦茶な数値になってしまいます。 配列のポインタの渡し方が違うのかとは思いますが、どう書いたら良いのか分からない状況です。 一応、他のプログラムからこのdllを使うと、正常動作するようです。
質問日時: 2011/08/31 20:36 質問者: kuro917
ベストアンサー
2
0
-
パールのファイルサイズ取得について
パールのファイルサイズ取得について こんにちは。 パールのソースで困っているので、どなたか教えてください。 1つめのファイルサイズと、2つ目のファイルサイズを取得して 比較するソースを書いたのですが、ファイルが0byteであった場合、 変数に入れるところで失敗するのでしょうか? また、変数に入れるところではうまくいったとしても、比較で 失敗するのでしょうか? $size_a = -s $filea; $size_b = -s $fileb; if($size_a == $size_b){ ### メッセージを出力 }
質問日時: 2011/08/29 10:08 質問者: tnk3601
ベストアンサー
2
0
-
perlの構文間違いについて
以下のような、perlの構文で$infoをmyスコープで宣言しつつ、$datという変数が真なら$infoに$datが入ることを期待しているのですが、まちがっているのでしょうか? my $info = $dat if ($dat); よろしくお願いします。
質問日時: 2011/08/26 01:37 質問者: yusukeshibata
ベストアンサー
4
0
-
Perl スクレイピング処理について
以下のような構成のページから、前半2つの twitter ,facebook のみを process '#share_item ul li', 't_url' => '@href'; のような形で抜き出したいのですが、 これだとtwitterからmixi までの情報を一気に取得してしまいます。 process '#share_item ul li', 'twi_url' => '@href'; process '#share_item ul li', 'fb_url' => '@href'; のように、それぞれ分けて取得するよい方法はありますでしょうか? ----------(ここから)--------- <div id="share_item"> <ul> <li> <a href="http://twitter.com/share?text=(略)&via=test_mk" target="_blank" onclick="s_omni.trackSNS('twitter')"> <img src="http://aaa.com/btn1.gif" alt="twitterでつぶやく" /> </a> </li> <li> <a href="http://www.facebook.com/share.php?u=http://aaa.com/" target="_blank" onclick="s_omni.trackSNS('facebook')"><img src="http://www.aaa.com/common/btn2.gif" alt="facebookでシェア" /></a> </li> <li> <a href="mailto:?subject= ~(略)~alt=" メールで知らせる" /> </a> </li> <li> <a href="http://mixi.jp/recent_voice.pl?from=home_profile" target="_blank" onclick="s_omni.trackSNS('mixi')"> <img src="http://aaa.com/btn4.gif" alt="mixiで知らせる" /></a> </li> <li> <link rel="mixi-check-image" type="image/jpeg" href="http://aaa.com//img/site/3.jpg" /> <a href="javascript:void(0);" onclick="window.open('http://mixi.jp/share.pl?u=http://aaa.com/&k=cf6870bacc04932deb167c0ee0483894cf74249b','share',['width=632','height=456','location=yes','resizable=yes','toolbar=no','menubar=no','scrollbars=no','status=no'].join(','));"><img src="http://aaa.com/btn5.gif" alt="mixiチェック"></a> </li> </ul> </div> ----------(ここまで)--------- (2)これは補足的な質問なのですが、 「#share_item ul li」 のように # がつく記述と付かないパターンがあるのですが、 この違い(#が必要な時)が不明です。 ご存知の方、教えて頂ければ幸いです。
質問日時: 2011/08/25 16:54 質問者: niko314
ベストアンサー
2
0
-
perlの初心者です
コマンドにサクラエディタで書いたファイルで実行すると、サクラエディタがでてきます。 どのようにすればいいでしょうか? メモ帳ではうまくいきます。
質問日時: 2011/08/24 23:00 質問者: fookiti
ベストアンサー
1
0
-
正規表現に関する質問
以前もここで質問したものです。皆様の解答をヒントに一歩進みました。 C言語のソースコードを扱っています。 デバッグのため(関数がどういう順番で呼び出されているかを知るため)、関数の先頭にprint文をつけようと思っています。 例えば、 int hoge(引数の並び) { 関数の中身 } なら int hoge(引数の並び) { printf("hoge"); 関数の中身 } といった具合です。 関数が膨大なので、手作業で一つずつprintfを書くのは現実的ではありません。 ここで、 open(IN,"$ARGV[0]"); @array = <IN>; for($i=0;$i<@array;$i++){ if($array[$i] =~ / _*.+\(.*\)/){ $tmp = $&; if($array[$i+1] =~ "^{\n"){ print $array[$i]; print $array[$i+1]; print "printf(\"FileName:$ARGV[0] FunctionName:"; print $tmp; print "\");"; print "\n"; $i++;} else{ print $array[$i]; } }else{ print $array[$i]; } } というコードを書きました。しかしこれでもうまくいかないケースが多々ありました。 int main(void) { intro(); new_game(); /* @@@ exit(0); */ /* causes a warning in C++ */ return(0); } のように返り値が横ではなく上についていたり、 void __ast_string_field_index_build(struct ast_string_field_mgr *mgr, ast_string_field *fields, int num_fields, int index, const char *format, ...) { のように引数が複数行にわたる場合です。 どのようにしたらよいのでしょうか。 どなたか教えてもらえませんか?
質問日時: 2011/08/23 14:11 質問者: neruda
ベストアンサー
4
0
-
正規表現
パラメータqの部分にマッチさせる正規表現が分かりません。 # $urlの例 http://foo.bar/?q=hoge?&x=0&y=0 http://foo.bar/?q=perl http://foo.bar/?q=perl+%e6%ad%a3%e8%a6%8f%e8%a1%a8%e7%8f%be hoge, perl, perl+%e6%ad%a3%e8%a6%8f%e8%a1%a8%e7%8f%beだけを切り出したいのですが、現状は # hogeしかマッチしない $url =~ /\?q\=(.+?)&+?$/$1/; # 不要なパラメータにもマッチ $url =~ /\?q\=(.+?)&*?$/$1/; # => hoge?&x=0&y=0 となっています。 よろしくお願いします。
質問日時: 2011/08/23 11:04 質問者: kuroizell
ベストアンサー
2
0
-
CGI ダウンロードカウンター スマートフォン
http://www9.plala.or.jp/oyoyon/perl/download/index.html こちらのサイトを参考にファイルのダウンロード数をカウントできるようにしました ですがPCからのアクセス(直リンク)はカウントされるのですが スマートフォン(iPhone 3G[S]&4)からは直リンクではカウントされませんでした どうすればカウントされるようになるでしょうか? またこのサイト以外にお勧めの方法はあるでしょうか?
質問日時: 2011/08/23 01:28 質問者: nosuke5614
解決済
2
0
-
正規表現の応用
C言語のソースコードを扱っています。 デバッグのため(関数がどういう順番で呼び出されているかを知るため)、関数の先頭にprint文をつけようと思っています。 例えば、 int hoge(引数の並び) { 関数の中身 } なら int hoge(引数の並び) { printf("hoge"); 関数の中身 } といった具合です。 関数が膨大なので、手作業で一つずつprintfを書くのは現実的ではありません。 関数の最初の1行のパターンマッチは、/int\s\w*(.*)/ でうまくいくのですが、次の行の{まで含んだ正規表現に対応させるやり方がわかりません。 また、printf文を読み込んだソースコードに挿入するにはどうしたらよいのでしょうか。 どなたか分かる方がいらしたらご教授よろしくお願いいたします。
質問日時: 2011/08/22 22:52 質問者: neruda
ベストアンサー
4
0
-
perlでテキストデータの指定行に書き込み
たびたびお世話になります。 データには、「データNO」「登録NO」「名前」「カテゴリー」「金額」が登録されています。 もともとあったデータをフォームで編集、送信してデータNO($d_no)と一致した行だけを書替え(上書き)したいんですが、どうしても方法がわかりません。 open(IN,"../save_data/sdeta.txt"); @data = <IN>; close(IN); foreach(@data){ chop($sdata); ($d_no,$s_no,$s_name,$d_class,$s_price) = split (/=/, $sdata); if( $value eq $d_no){ $sdata="$in{'d_no'}=$in{'s_no'}=$in{'s_name'}=$in{'d_class'}=$in{'s_price'}\n"; }else{ $sdata="$d_no=$s_no=$s_name=$d_class=$s_price\n" } } open(OUT,">../save_data/sdeta.txt") || &error("オープンエラー"); print OUT @data; close(OUT); 上のプログラムを書いても、書替えできませんでした。 どのように直せば一行のみの書替えが出来るんでしょうか。 よろしくお願い致します。
質問日時: 2011/08/22 11:33 質問者: kari729
ベストアンサー
3
0
-
Perlの変数宣言について
PHPを毎日書いている者ですが、たまたまPerlのメールフォームをカスタマイズ しなければならなくなりました。 use strict宣言がある場合、変数はmyまたはlocalで宣言しなければいけないようですが、 サブルーチン内に sub form { ・・・ my ($form_value,$error_list) = @_; ・・・ print $error_list{'inquiry_type1'} としたところ、 Global symbol "%error_list" requires explicit package name at ・・・ と、宣言が無い場合に出るというエラーが出ました。 $error_listには、inquiry_type1は入っているはずなのですが、どのような 宣言をすればよいのでしょうか? よろしくお願いします。
質問日時: 2011/08/20 18:43 質問者: LFNAtacker
ベストアンサー
1
0
-
sedやperlでの2バイト文字を含む変換
こんにちは。 sedコマンドは、texに付属していた日本語対応のものを使用しており、 perlはWindows用のActive Perl v.5.12.2を使用しています。 カレントディレクトリにあるファイルやフォルダにおいて、 名前を一括して変換したいと思い、以下のようなNameConv.batというバッチスクリプトを作成しました。 ____________________________________________________________ @echo off for /f "delims=" %%a in ('dir /b !opt!') do ( for /f "usebackq delims=" %%b in (`echo %%a^| sed -e "s/%~1/%~2/g"`) do ( move /y "%%a" "%%b" 1>nul 2>nul if not "%%a"=="%%b" echo 「%%a」→「%%b」 ) ) ____________________________________________________________ このバッチスクリプトを NameConv.bat " " "_" の様にして呼び出すと上手く行きました。 (この場合は、カレントディレクトリの全てのディレクトリとフォルダの名前において、 スペースがアンダーバーに変換されました。) ところが、 NameConv.bat "スペース" " " のように、第一引数に変換文字列に2バイト文字を使用すると、 以下のようなエラーメッセージが出て上手く行きませんでした。 sed: -e expression #1, char 14: Unterminated `s' command どうやら、 echo %%a| sed -e "s/スペース/ /g" といったコードは、上手く行かなかったようです。 そこで、この問題を解決しようと、以下のようなNameRep.plというPerlスクリプトを作成しました。 ____________________________________________________________ #日本語を扱うために必要な設定 use encoding "cp932"; use open ":encoding(cp932)"; use open ":std"; map{ binmode($_,":crlf"); } qw/STDIN STDOUT STDERR/; #置換操作 $name="$ARGV[0]"; $name =~ s/$ARGV[1]/$ARGV[2]/g; print "$name"; ____________________________________________________________ そしてこのスクリプトを for /f "delims=" %a in ('dir /b') do ( @perl NameRep.pl "%a" "スペース" "_" ) の様にしてコマンドラインから呼び出すことで、「スペース」という文字列が、 きちんと処理できるかを試したところ、以下のようなエラーメッセージが出ました。 Unmatched [ in regex; marked by <-- HERE in m/\x{00d8}\x{00f9}\x{005b} <-- HERE \x{00d8}/ at C:\Users\kei\NameRep.pl line 11. どうやら $name =~ s/$ARGV[1]/$ARGV[2]/g; の部分で、$nameや$ARGV[1]に2バイト文字が含まれていると、上手く行かないようです。 #日本語を扱うために必要な設定 以下のコードブロックで、シフトJISに対応できるはず(少なくとも今までは問題なく扱えました) なのですが、何故か上手く行きません。 そこで、sedコマンドやperl、特にperlにおいて、シフトJISコードでの2バイト文字の扱い方を御存じの方に、何かアドバイスを頂きたいと考えています。 長くなりましたが、どうぞよろしくお願い致します。
質問日時: 2011/08/19 00:56 質問者: MetalLover
ベストアンサー
5
0
-
grep中でデリファレンスするとエラー???
問題を突き止めるため、コードをここまで小さくしましたが、まだエラーが出ます・・・ use strict; $_ = [0, 1]; grep($_ == $$_[0], 0, 1) このコードはgrepの中で$_をデリファレンスしているだけです。 これを実行すると、 Can't use string ("0") as an ARRAY ref while "strict refs" in use というエラーになってしまいます。 ううむ、どこかでシンボリックリファレンスを使っているのでしょうか
質問日時: 2011/08/17 03:57 質問者: zyousuke
ベストアンサー
1
0
-
Perlでのテキスト処理について
Perlでのテキスト処理について質問です。 テキストファイルの中身が下記のようになっています。 【テキスト編集前】 --------------------------------------- test ,abc ,AB ,VI ,SS ,ma ---1行目 test ,abc ,AC ,PI ,VS ,ma ---2行目 test ,abc ,BA ,SS ,VS ,ma ---3行目 test ,abc ,BA ,VI ,VS ,ma ---4行目 test ,cde ,AA ,VI ,SS ,mb ---5行目 test ,cde ,CC ,PE ,VS ,mb ---6行目 test ,cde ,BC ,PI ,SS ,mb ---7行目 test ,cde ,AC ,PI ,SS ,mc ---8行目 --------------------------------------- 2列目(abc/cde)と6列目(ma/mb/mc)が同じ行に対しては 1行にまとめて出力したいと思っています。 この時、1列目、4列目、5列目はマージした形にし (同一文字は一度だけ出力、同一でない文字は/区切りで出力)、 2列目、6列目は同一文字をそのまま出力し、 3列目に関しては、該当する行の先頭行の文字列を 出力したいと思っています。 下記が当方の希望しているPerl実行後の出力結果です。 【テキスト編集後】 --------------------------------------- test ,abc ,AB ,VI/PI/SS ,SS/VS ,ma test ,cde ,AA ,VI/PE/PI ,SS/VS ,mb test ,cde ,AC ,PI ,SS ,mc --------------------------------------- このような編集をPerlで実行したいと思っているのですが、 どのような記述をすれば実行できるのか教えて頂けないでしょうか。 当方、Perlを始めたばかりで基本的なことを 伺っているのかもしれませんが すみませんが、ご了承ください。 宜しくお願いいたします。
質問日時: 2011/08/15 00:20 質問者: emo_ken
解決済
5
0
-
Lite.pmを使ったメールで文字化け
海外製のプログラムを日本語対応に修正しているのですが「~」が文字化け(?)になります。 下記がコードの一部を抜粋したものです。 $message=jcode($message)->sjis; my $msg = MIME::Lite->new( Type =>'multipart/mixed', From =>$fromaddr, To =>"$to", Subject =>"$subject", Type => "text/plain; charset=\"iso-2022-jp\"", Data =>"$message" ); 「~」だけが文字化けします。 下記のように文字コードを UTF-8 にすると文字化けしませんが、 メールで UTF-8 を使うのは良くないのでしょうか。 $message=jcode($message)->utf8; my $msg = MIME::Lite->new( Type =>'multipart/mixed', From =>$fromaddr, To =>"$to", Subject =>"$subject", Type => "text/plain; charset=\"utf-8\"", Data =>"$message" ); これだと文字化けしません。 UFT-8 でメールを送信しても問題ないのか、 また、問題の有無に関係なく iso-2022-jp で文字化けしない方法を ご教授いただけないでしょうか。 よろしくお願い致します。
質問日時: 2011/08/11 09:48 質問者: ebo440
ベストアンサー
5
0
-
Perlでの文字列処理について
プログラム初心者です。 Perlで下記のような文字列処理のプログラムの書き方がわからず、質問させて頂きました。 【内容】 FILE_A.txtが「!」マークで区切られていて、「!」マークの下行の文字列をIPアドレスの右横に移動したものをFILE_B.txtに出力するという処理です。 「!」マークの下行の文字列の「name」は共通です。 -------------------------------------------- 【FILE_A.txt】 ! name abcdeLV 123.123.123.123 123.123.123.124 123.123.123.125 ! name fghijLV 10.10.10.11 10.10.10.12 10.10.10.13 10.10.10.15 10.10.10.16 ! -------------------------------------------- ↓ -------------------------------------------- 【FILE_B.txt】 123.123.123.123 abcdeLV 123.123.123.124 abcdeLV 123.123.123.125 abcdeLV 10.10.10.11 fghijLV 10.10.10.12 fghijLV 10.10.10.13 10.10.10.15 fghijLV 10.10.10.16 fghijLV -------------------------------------------- 上記のようなPerlでの処理を具体的に教えて頂ければうれしいです。 本サイトのようなものを利用するのが初めてですので、不手際があるかもしれませんが なにとぞよろしくお願いいたします。
質問日時: 2011/08/11 02:35 質問者: mitsuaco666
ベストアンサー
2
1
-
任意レコードのハンドリング
お世話になります。 早速ですが、 cgiで日記を作って、毎日入力しています。 現在の機能として最新分のみは修正が可能です。 (最後のレコードを表示し、修正して、置き換え) このほど、任意の日付分を修正できるようにしたいなと思い検討を開始しました。 そこで質問ですが、 どのような考え方をすればよいのでしょうか。 私のレベルで思いつくのは、 1件ずつ該当の日付が来るまでコピーしながら読んで行き、 該当日付が出てきたら表示、修正させ、置き換える、 そして残り分をコピーする、です。 こんな方法しかないでしょうか。 ズバリ、該当の日付分を抽出できるような考え方は無理でしょうか。 日記のフォーマットは単純なテキストで、1日単位で1レコード(長さ可変)になっています。 宜しくお願いします。
質問日時: 2011/08/10 11:47 質問者: nagahaha
ベストアンサー
3
0
-
Perlのテキストの変換について
初めて質問します。 Perlを使って下記のようにテキストを変換したいんですけど、やり方を教えてください>< 【変換前】 A 1234 A 2345 B 3456 B 4567 【変換後】 >Af >1234 >As >2345 >Bf >3456 >Bs >4567 というふうに並び変えたいんですけど、なにぶんプログラミング初心者なもので、 よろしくお願いいたします。
質問日時: 2011/08/09 21:55 質問者: reddot
ベストアンサー
5
0
-
Perlでのテキスト変換方法に関して
テキストファイルをperlを使用して下記のように 変換したいと思っています。 --------------------------- 【変換前】 aaa 8000 52 ---1行目 abc 200 48 ---2行目 cbd 250 31 ---3行目 efg 98 45 ---4行目 abc 390 68 ---5行目 ddd 89 90 ---6行目 aaa 65 40 ---7行目 fed 900 66 ---8行目 efgh 99 49 ---9行目 abc 40 40 ---10行目 【変換後】 aaa 8000 52 ---1行目 cbd 250 31 ---3行目 efg 98 45 ---4行目 abc 390 68 ---5行目 ddd 89 90 ---6行目 fed 900 66 ---8行目 efgh 99 49 ---9行目 ---------------------------- やりたいことはまず行の先頭文字列(aaaやabc)が完全に一致する行が 複数あれば(2,5,10行目のabcや1,7行目のaaa)、2番目の文字列(スカラー値)の値が 小さい方の行は出力しないようにしたいと思っています。 例えば上記の場合ですと、2,5,10行目の最初の文字列はaaaで完全に一致しており、 2番目の列の値は5行目が390に対し、2行目は200、10行目は40と小さくなっているため 2行目,10行目は出力されない、というのが望んでいる動作です。 sortを使用してどうにかならないかとも、考えたのですが そこから先がどうしていいか思いつきませんでした。 何かよい方法を思い浮かぶ方がいましたら、どのようにPerlで記述すればよいのか 教えて頂けないでしょうか? 宜しくお願いいたします。
質問日時: 2011/08/04 00:45 質問者: emo_ken
ベストアンサー
2
0
-
perl -MCPAN -e shellの意味は?
皆さんCPANをインストールする際 perl -MCPAN -e shell とコマンドラインで入力されていると思いますが、 perl 以降の引数の中で 「shell」 について正確な意味を教えていただけませんでしょうか。 現在下記のものは理解しております。 ■「-MCPAN」について http://homepage3.nifty.com/hippo2000/perltips/CPAN.htm ※こちらの質問でも言及あり http://oshiete.goo.ne.jp/qa/2460025.html ■「-e」について http://www.rfs.jp/sb/perl/02/12.html -eオプション以降にshellと入力するとどんな意味があるのでしょうか。 ご教授お願いいたします。
質問日時: 2011/08/02 23:49 質問者: LMN4323
ベストアンサー
2
0
-
Perlの文字列削除とcsv出力の方法について
現在、Perlを用いてtxtファイルから必要なデータだけを取り出し、それをcsv ファイルに出力したいと考えております。 Perlはほとんど触ったことがなく、色々と勉強しながら行っているのですが、期 日が迫っているという事情もあり質問させていただきます。 txtファイルには以下のような文が1000行ほどあります。 *○ △ /△/△/△/△/○.txt, ○|○): ○ ○,△:任意の数字、または文字列です。 この内、"○"のものだけを一つ一つ分けてcsvに出力したいのです。 つまり○は4つありますが、出力する際は1つ目の"○"を1行目に、2つ目の"○"を2行 目にといった形にしたいです。 そして、それが1000列分あるということになります。 上手く△のものだけを除外し、○だけを抽出する方法はあるでしょうか? どなたかよい方法をご存知のかたいらっしゃいましたら、教えていただけると幸 いです。 エクセルで行うということも考えましたが、htmlファイルが入力ファイルとなる可能性もあるためPerlで行うことにしました。
質問日時: 2011/08/02 22:57 質問者: xnilix
ベストアンサー
8
0
-
ユーザーエイジェントの置き換え
ユーザーエイジェントを検索して UP.Browserという文字列があった場合、 ユーザーエイジェントをauという置き換え表示したいと思っています。 具体的には KDDI-KC3R UP.Browser/6.2_7.2.7.1.K.4.310 (GUI) MMP/2.0 ↓ au と表示したいのですが、 Perlで記述する場合以下のように書いて間違えありませんか? 間違いなどありましたご指摘ください。 if($ENV{'HTTP_USER_AGENT'} =~ /UP.Browser/) { $agent=~s/$ENV{'HTTP_USER_AGENT'} /au/g; }
質問日時: 2011/08/01 17:30 質問者: masa-25
ベストアンサー
5
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Perl】に関するコラム/記事
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlをバージョンアップしたら、今...
-
Perlのエラーについてご教授くださ...
-
Windows10においての『Perl』のプロ...
-
テキストファイルで提出とは?
-
Perl テーブル内の文字列取得 正規表現
-
perl の open について教えてくださ...
-
Perl言語について。
-
ファイルをディレクトリ分配のプロ...
-
アルファベットに付いて質問します...
-
#!/usr/bin/perlで書きだしたCGIを...
-
perlのflock関数でロックをかけたま...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□の中...
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにどのよ...
-
perlで2次元配列をサブルーチンに...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方についての質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
openした後、closeしないでプログラ...
-
Perlのエラーについてご教授くださ...
-
INDIRECT 横に再度抽出したい
-
フローチャート 九九
-
perl の open について教えてくださ...
-
perlをバージョンアップしたら、今...
-
perlで2次元配列をサブルーチンに...
-
perl 正規表現でエラー
-
bashスクリプト
-
perlでリテラル値はメモリにどのよ...
-
perlについての質問
-
Perlで時間の計算
-
perlのrequireの動き方についての質問
-
perl このテキストファイルを簡単に...
-
Wallpaper Engineでおすすめの壁紙...
-
Perlで同じフォルダにある任意のテ...
-
perlで複数のファイルの処理につい...
-
#!/usr/bin/perlで書きだしたCGIを...
-
perlのflock関数でロックをかけたま...
おすすめ情報