回答数
気になる
-
ファイル操作について
例えば1つのディレクトリに10万個の画像があった場合に、同じディレクトリ内にperlで新しい画像を作ったり削除したりすると、処理速度が遅くなってしまいます。(作成や削除に時間がかかったりする) 違うディレクトリではスムーズに画像を作成したり、削除したりできるのですが、大量のファイルがあった場合は遅くなってしまうようです。 perlでファイルを作ったり削除するのに、ファイル数が多いからという理由で速度が遅くなるものでしょうか。 また、何か対策をご存知であれば教えていただけると嬉しく思います。 よろしくお願いします。
質問日時: 2014/08/22 00:54 質問者: hana43
解決済
3
0
-
更新記録CGIで「前へ」「次へ」の記事を出す方法
更新記録CGI(perl)を利用して、それを改造したいと思っています。 記事は1つだけ表示して、記事下に「←次へ」「前へ→」のようなリンクを作って前後に移動したいです。 素人考えで以下のようにしました。 $no =5; (現在の記事NO。数字が入ります) $new_no = $no--; $old_no = $no++; print "<a href=\"news.cgi?vno=$new_no\">「←次へ」</a>\n"; print "<a href=\"news.cgi?vno=$old_no\">「前へ→」</a>\n"; しかしこれだと、2つの問題が発生します。 1.最新記事・最古の記事の次または前ページが存在しないのに行ってしまう。 2.何らかの理由で記事を消した場合でもそこに行ってしまう。 この2点を回避するにはどうしたら良いでしょうか? $no =5; open(IN,"$logfile") || &error("Open Error : $logfile"); while (<IN>) { ($no,$year1,$month1,$day1,$name,$tail1,$W1,$H1,$item1,$item2,$item3,$item4,$item5,$host) = split(/<>/); <<<--- どうにかして、この記事の次記事があるかを判別する --->>> if($new_no){ print "<a href=\"news.cgi?vno=$new_no\">「←次へ」</a>\n"; }else{ print "<font color=#aaaaaa>「←次へ」</font>\n"; } <<<--- どうにかして、この記事の前記事があるかを判別する --->>> if($old_no){ print "<a href=\"news.cgi?vno=$old_no\">「前へ→」</a>\n"; }else{ print "<font color=#aaaaaa>「前へ→」</font>\n"; } このようにしたいのですが、方法を教えてください。
質問日時: 2014/08/21 11:12 質問者: master-3rd
解決済
4
0
-
連想配列で時間短縮したい
aaa.txt 06011800, 5.3 06012100, 5 06020000, 4.5 06020300, 6.2 … bbb.txt 06011800, 5.1 06012100, 7.5 06020000, 5.1 06020300, 9.3 … という二つのファイルがあります。 以下のプログラムを用いて、 06011800, 5.3, 5.1 06012100, 5, 7.5 06020000, 4.5, 5.1 06020300, 6.2, 9.3 … といった感じでデータを作る事に成功したのですが、どうしてもループに無駄が多く、時間がかかってしまいます。 連想配列などを使えば時間が短縮出来そうなのですが、よくわかりません。 ご教示いただけないでしょうか。 以下、作成したプログラム。 $csvfile1 = $ARGV[0]; $csvfile2 = $ARGV[1]; open(DAT1, $csvfile1) || die $!; while($line=<DAT1>) { chomp($line); @dat = split(/,/,$line); open(DAT2, $csvfile2) || die $!; while($line2=<DAT2>) { chomp($line2); @dat2 = split(/,/,$line2); if($dat[0] == $dat2[0]){ print "$dat[0],$dat[1],$dat2[1]\n"; } } } close(DAT);
質問日時: 2014/08/12 15:06 質問者: sasmostmilk
ベストアンサー
5
0
-
Perlでページランクを取得する方法
プログラミングが得意な方お願いします。 下図のリンクのページランクをPerlで実装したいのですが、 まずPDLモジュールをダウンロードし、リンク隣接行列を下記のように定義しました。 use PDL::Lite; my $mat1 = pdl [ [0, 1, 1/2, 0, 1/4, 1/2, 0], [1/5, 0, 1/2, 1/3, 0, 0, 0], [1/5, 0, 0, 1/3, 1/4, 0, 0], [1/5, 0, 0, 0, 1/4, 0, 0], [1/5, 0, 0, 1/3, 0, 1/2, 1], [0, 0, 0, 0, 1/4, 0, 0], [1/5, 0, 0, 0, 0, 0, 0] ]; そして下記の列ベクトルと上記の行列をかけてその答えと上記の行列をかけてさらにその答えと上記の行列をかけて・・・を繰り返し、掛けても答えが変わらなくなったところでその列ベクトルの値を取り出し正規化して出力するという方法を考えました。 my $mat2 = pdl [ [1], [1], [1], [1], [1], [1], [1] ]; ここで質問ですが、上記の処理をwhile文で実行したいのですが掛けても答えが変わらなくなったところでwhileからループを抜ける処理はどのように書いたら良いのでしょうか? Perlは初心者で、行列同士の比較はwhileの条件文ではできないでしょうし、列ベクトルの要素を一つ一つ比較する方法も分かりません。 以上写真のページランクをperlで取得する方法、宜しくお願い致します。
質問日時: 2014/08/07 01:27 質問者: syukoukyoku
ベストアンサー
5
0
-
正規表現で「)」がメタ文字の理由?
Perlの正規表現で、「)」(カッコ閉じ)は、「(」(カッコ開け)同様メタ文字で、もし/)/のようなマッチ演算子を書いて、「)」という文字列を検索しようとすると、Unmatched ) in regexというエラーになります。 しかし、「]」(角カッコ閉じ)や、「}」(中かっこ閉じ)は、メタ文字ではなく、/]/、/}/のようなマッチ演算子は正当で、それぞれ]、}をきちんと検索するのです。 「[」(角カッコ開け、文字クラスを作る)や、「{」(中かっこ開け)はメタ文字なのに、です。 開けがこないのに閉じが来た場合、]と}はエラーにならないのに、)だけはエラーになります。 これは、なぜでしょうか。
質問日時: 2014/08/04 13:04 質問者: TYWalker
ベストアンサー
4
0
-
CGIエラー
あるCGIを組んでてアップロードしたらエラーが出ました。 もちろんInternalServerErrorでerror.logには (8)Exec format error: exec of 'ほげほげ/test.cgi' failed Premature end of script headers: test.cgi とありました。(ほげほげは気にしないで^^;) ぐぐって見たものの原因はわからず、簡単なcgiをアップロードしてもこのエラーが出ます。 Shift_JISで改行コードLFにしてます。 ASKIIモードにしました。 ヘッダーも入れてます。 いろんな方法を試しました。 ちなみにレンタルサーバーで、CGIはOKです。 都合上期限がやばいので、すぐに回答お願いします!
質問日時: 2014/08/01 21:41 質問者: lemonchugaku
解決済
2
0
-
Perlの書き方について
perlを勉強していて、似たような配列やハッシュの場合でしたらなんとか解決出来たのですが、以下の場合が思うような結果が得られず困っているので、どなたか教えていただきたく質問しました。 例) my $hoge1=10; my $hoge2=9; my $hoge3=8; my $hoge4=7; my $hoge5=6; my $hogehoge; for(1..5){ $hogehoge+=$hoge$_; } 上記の書き方の場合、「$hoge$_」でエラーが出ます。 このような場合は、どのように書けばいいのでしょうか。 よろしくお願いします。
質問日時: 2014/07/30 19:01 質問者: hana43
ベストアンサー
3
0
-
Perlのワンライナーをスクリプトにしたい
初歩的な質問で恐縮ですが、以下のPerlのワンライナーを、スクリプトファイルに記述するには、どのように書けば良いのでしょうか。 perl -ne "print if ( /aaa/ ); print if ( /bbb/ ); print if ( /ccc/ );" "in.txt" > "out.txt" 下記のようにしてみたのですが、ダメでした。 perl "script.pl" "in.txt" > "out.txt" ----- script.plの内容 ----- print if ( /aaa/ ); print if ( /bbb/ ); print if ( /ccc/ ); --------------------------- 環境はWindowsのコマンドプロンプトです。バッチファイルでの使用を想定しています。 自分はPerlに関する知識が無いので、Perlに関するサイトも見てみたのですが、情報が膨大で、ピンポイントでこの問題を解決する情報を探し出す事が出来ませんでした。 やり方が分かる方がおられましたら、お教え頂けないでしょうか。
質問日時: 2014/07/26 13:22 質問者: kon77
ベストアンサー
2
0
-
【perl】特定の条件を元に文字を削除
perlにてCSVファイルの中で特定の条件の時に 文字を削除する分を書きたいのですがうまくいかず困っております。 1111,11110000,4 2222,11110000,4 3333,11111100,2 4444,11000000,6 このようなデータで 3番目のフィールドを元に2番目のフィールドの文字を削除したいと思っております。 4の場合はお尻から4つの0を削除 → 1111,1111,4 2の場合はお尻から2つの0を削除 → 2222,111111,2 上記のデータですと最終的には以下のような形にしたいと思っております。 1111,1111,4 2222,1111,4 3333,111111,2 4444,11,6 お手数おかけしますがお力添えただけたら幸いです。
質問日時: 2014/07/04 11:49 質問者: helissio65rog
ベストアンサー
3
0
-
csvの内容を配列に入れて個別に変数をつける
はじめまして、お世話になります。 内容はdata.csvを開いて$a1の値が、ban1の時に、 該当の一行を読み出して、カンマ区切りでわかれている順番に、 $a1 $a2 $a3という変数に代入して他のプログラム内で、利用できればと思いますが、 思うように値が取得できません。 下記、参考サイトなどを見ながら、 動作の部分をかいてみました。 まだ理解が浅く、見当はずれな指示があるかもしれませんが、 ご参照いただき具体的な、 ご指摘をいただければと思います。 よろしくお願いいたします。 my $dataFile = 'data.csv'; open FH,"<$dataFile" or error_msg("データファイルが開けません : $!"); flock(FH, LOCK_EX); while(<FH>){ chomp(); my@dummy = split(/,/,$_); if($a1 == $ban1) { $hoge = $_; last; } chop $hoge; ($a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$a10,$a11) = split(/,/); } flock(FH, LOCK_NB); close FH;
質問日時: 2014/06/25 16:56 質問者: 1988rands
解決済
5
0
-
ファイル内のキーを元に別のファイルをgrepする
初めて質問させていただきます。 Perlを使って下記のことをじっそうしたいと思っています。 □テーブルから抽出したdata.csvの中に、外字文字コードが存在するか確認する。もし存在する場合は、その行を別のファイル(output.csv)へ出力する。 Perlで下記のような構造でプログラミングしたいと思っていますが、知識が乏しいため、どなたかサンプルコードをご提供いただけますでしょうか。 □外字文字コードをもつtest.txtを一行ずつ読み込み、そちらを検索キーとして、data.csv内をgrepし、該当行があったら、output.csvへ出力する。 test.txt \x40\xB0, \x41\xB1, \x43\xB2
質問日時: 2014/06/14 09:15 質問者: mahotthi
解決済
1
0
-
perlでアクセス端末の解像度を知りたい
アクセス元の端末(たとえばスマホなのかPCなのか)で表示する画像を変えたいため、アクセス端末の解像度を取得したいのですがどうすればよいでしょうか? いろいろ探してみたのですが、javascriptばかりヒットし、use Term::ReadKeyというものも出てきたのですが、その参考ページをそっくり入れてみても動作しません。 sub agent{ %agent_type = ( qr/MSIE/i => 'p', qr/iPhone/ => 's', qr/iPad/ => 't', qr/Android/ => 's', 一部省略 ); } sub browser{ &agent; my $ua = $ENV{'HTTP_USER_AGENT'}; foreach my $key(keys %agent_type){ if ($ua =~ $key){ $ua_type = $agent_type{$key}; last; } } } 上記のような環境変数で振り分けることも考えたのですが、Androidだとスマホとタブレットと解像度が大きく違うものでも同じものをはき出してしまうかと思い、正確な振り分けができず困っています。 どうかperlだけで解決できる方法がありましたらぜひ教えてください。 よろしくお願いします。
質問日時: 2014/06/11 19:26 質問者: choei
ベストアンサー
4
0
-
perl フォームメール送信の文字化けについて
フォームメール送信の文字化けについてお教え下さい。 よろしくお願い致します。 まずは環境より申し上げます。 環境 xampp-win32-1.7.7-VC9 同封 apache2.2.21 php5.3.8 perl 同封されているもの ----------------------------- xmailサーバーも動いています。 内部、外部、外部から外部、ともに正常に送受信できています。 以前はANHTTPDとperlとsendまね~るで問題なく動いていましたが このたびPHPが必要になりましたので以前のperlをアンインストールしてXAMPPをインストールしました。 以前からの自作のメールフォームを設置してメールを送信すると 受付確認メールと問い合わせ報告メールのすべてが文字化けしています。 一応 文字コードはUTF-8で mail.html、 perlプログラム、ともに統一しています。 apacheのhttpd.confの中にはAddDefaultCharset・・・の設定項目がなぜかありませんので apacheについては文字コードの設定などはおこなっておりません。 症状ですが メールフォームに入力して確認ボタンを押すと現れる確認画面は 文字化けしておりません、高崎、申す、表示という文字も化けていません。 このあと送信ボタンを押すと メールは宛先へ正常に届きますが タイトルからすべてが文字化けで読む事はできません。 原因探しが三日くらい続き、気になって寝られません。 ひろいあつめて書いたコードですが、 よろしくお願いいたします。 # MIMEエンコード $mail_to = mimeencode($MAILTO); $mail_from = mimeencode($FORM{'name'}); $mail_subject = mimeencode($FORM{'subject'}); # 文字コードの変換 $body = jcode::jis($user_owner); # メールヘッダーの生成 $header = <<END; To: $mail_to From: $mail_from<$FORM{'email'}> Subject: $mail_subject Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP # サーバー出力 print <<END; Content-type: text/html; charset=utf-8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> # メールの送信 open(MAIL, "| $SENDMAIL -i -t -f $FORM{'email'}") or die("エラー:sendmailへのパイプが開けません"); print MAIL $header, $body; close MAIL; 部分的で分かりにくいかもしれませんが どなたか どうぞよろしくお願いいたします。
質問日時: 2014/06/06 15:05 質問者: see-sky
ベストアンサー
2
0
-
sysopenを使用したメール送信の方法について
perlでメールフォームを作成しています。 メールの送信にはsendmail をopen関数で使用していたのですが openはセキュリティ上の問題があることを知り、対策を調べているうちに sysopenを使用することが有効だという情報にたどり着きました。 しかし、単純にopenをsysopenに書き換え、オープンモードも設定したのですが sysopenに失敗してしまいます。 sendmail以外のテキストファイルのオープンには成功しているので sysopenの使用方法が間違っている sysopenを使用したsendmailの実行方法を教えていただけませんでしょうか? [ソース] use Fcntl; … $sendmail = '/usr/xxx/sendmail -t -io'; … sysopen(MAIL,"$sendmail ", O_WRONLY ) or die "error!!" my $mailstr = &MAILHEADER($to,$subject); my $mailbody = &MAILBODY($fileId); $mailstr .= $mailbody; print MAIL $mailstr; close MAIL; &MAILHEADER() →To,From,Subjectの設定 &MAILBODY() →メール本文の設定 ・sysopen部分は今まで以下の記述で、メールの送信をしていました。 open(MAIL,"| $sendmail") or die "error!!" ・念のため、-fで「/usr/xxx/sendmail」の存在チェックをおこない、 存在していることを確認しました。 ・sysopenの使用方法が間違っているのかと思い、以下のサンプルを作成してみましたが 問題なく動きました。 my $file = 'test1.txt'; sysopen(MSG,$file, O_WRONLY|O_CREAT|O_APPEND ) or die "sysopen error!!" print MSG "sysopen OK"; close MSG; サンプルが動いたことで、ますますsendmailをオープンできないことに 行き詰ってしまいました。 どうぞよろしくお願いいたします。 質問内容でわかららない部分があればご指摘ください。 可能な限りソースも載せます。
質問日時: 2014/06/05 01:57 質問者: myau1000
ベストアンサー
6
0
-
perlのif文(条件の指定方法)につきまして
おそらく単純な事だと思われますが、 不慣れなものでお付き合いいただけますとありがたいです。 if( $hoge == $testdata){ # 条件が一致した場合の処理 } $hoge には、2 が入っています。(文字列) $testdata には、2,6,10 が入っています。(文字列) 1対1であれば、上記の記述でいけるのですが、 カンマ区切りの復数の値と一致判定する方法がわかりません。 まず、配列にして my @testdata_hairetu = split(/,/, $testdata); などやってみましたが、 その後の条件文との絡みなどで詰まっています。 復数値がある場合に一つ一つ照合(判定)していく方法をご教授いただけないでしょうか。 foreachの内部でifとかかなと調べ中です。 perlは記述方法がいろいろあるようなのですが、できれば短さよりもわかり易い方が有難いです。 どうぞよろしくお願いします。
質問日時: 2014/06/03 15:43 質問者: Search_tmp
解決済
3
0
-
Perlで可変長の先読み戻り読みができない
Perlスクリプトで、以下のような置換をしようとしています。 置換前 piyo … fuga … piyo 【piyo … fuga … piyo … hoge … piyo】 fuga … piyo 置換後 【ぴよ】 … fuga … 【ぴよ】 【piyo … fuga … piyo … hoge … piyo】 fuga … 【ぴよ】 【】が入れ子にならないように、【】の外の部分でだけマッチ、置換しようと正規表現を考えていたのですが、いくらやってもできません。調べていたら、Perlでは可変長の先読み戻り読みをサポートしていないらしいことがわかりました。 正規表現一つでも、複数行のスクリプトでも構いません。どのようにすればよいでしょうか。
質問日時: 2014/05/28 11:52 質問者: cat-rice
解決済
6
0
-
Perlで変数を使用した置換ができない
ファイル内の「1 2 3 4 5」などの数字の箇所を、「1回 2回 3回 4回 5回」のように、「回」をつけた形に変えることを考えています。 以下のようなスクリプトを書きましたが、うまくいきません。 # 「$search_replace」の参照先のテキストファイルの内容 (\d) タブ記号 $1回 ・ ・ EOF # 問題のスクリプト(一部) chomp($search_replace); (my $search, my $replace) = split(/\t/, $search_replace); $string[$i+1] =~ s/$search/$replace/g; #ここが問題と思われる箇所 ほしい結果は右のとおり。「1回 2回 3回 4回 5回」 現実の結果は右のとおり。「$1回 $1回 $1回 $1回 $1回」 置換文字列の$1の部分がうまく展開(?)できないようです。 どうすればよいか、ご教示ください。
質問日時: 2014/05/22 07:20 質問者: cat-rice
ベストアンサー
5
0
-
perlのwhile loop内のforkについて
perlのfork機能を使いたい者ですが、その挙動について質問しています。 ここ数日fork機能について勉強しましたが、 その挙動がどうでしても理解できないので、質問をさせていただいています。 質問内容を具体的にするため、以下に簡単なコードを書いておきます。 #!/usr/bin/perl use strict; my $i=0; while ($i<3) { if(fork()) { print("parent hello -> $i\n"); last; } else { print("child hello -> $i\n"); sleep 3; print("child exit -> $i\n"); $i++; } } print("parent finish\n"); このコードをlinux上で起動させますと、下記の結果が得られました。 parent hello -> 0 parent finish child hello -> 0 child exit -> 0 parent hello -> 1 parent finish child hello -> 1 child exit -> 1 parent hello -> 2 parent finish child hello -> 2 child exit -> 2 parent finish ここから質問です。 上記の結果の中で自分が理解できないのは、 なぜ、「parent finish」が4回も出てくるのかということです。 自分の理解している部分では、「parent finish」はwhile loopの外にあるので、 「parent finish」をプリントするには、一度while loopを出る必要があると思います。 しかし、それが2、3回と続いてプリントされていることがなぜなのか理解できません。 理想としては、 parent hello -> 0 child hello -> 0 child exit -> 0 parent hello -> 1 child hello -> 1 child exit -> 1 parent hello -> 2 child hello -> 2 child exit -> 2 parent finish という具合に、「parent finish」を一回だけ表示させたいのですが、それは可能でしょうか? ご教授をお願いします。よろしくお願いします。
質問日時: 2014/05/18 02:06 質問者: nagoyan_nagoyan
ベストアンサー
2
0
-
perl 下記スクリプトは正常に動きますか?
今まで長い間、何か勘違いしていたのか、条件が2つ以上になると、 長い間このように書いていたのですが、 if( ($a%2==1 && $b==1) && ($c eq 10 && $d == 5) ) { print "ok"; } 下記スクリプトでも正常に動作しますか? if( $a%2==1 && $b==1 && $c eq 10 && $d == 5){ print "ok"; }
質問日時: 2014/05/18 01:12 質問者: elee_f
ベストアンサー
2
0
-
IE10のTIFF画像リンクのメッセージ非表示
IEのバージョンを10に上げたらTIFF画像へのリンクでメッセージが表示されるようになりました。 HTMLのソースは、以下のように書いています。 <a href="test.tif" target="_blank">tiff</a> ローカルのWindowsには、.tifに対してフリーウェアの画像閲覧ソフト(IfranView)に関連付けしています。 以前のバージョンのIEでは、上記のリンククリックで直接メッセージを表示することなくIfranViewでTIFF画像が開いていました。 IE10で、メッセージを表示させずにリンククリックでtiff画像が開くようにすることはできますでしょうか? サーバー側の設定変更でも、ローカル側の設定変更でもかまいません。 Perlでtiff画像を表示するプログラムを作っています。 画像へのリンクが多く、大量の画像を確認しながら作業を進めるプログラムです。 クリックのたびにメッセージから「ファイルを開く」をクリックするのが面倒です。 ■環境 サーバー ・Perl5 ・Apache(自分に直接の権限はありませんが、業者に設定変更お願いすることできます) ローカル ・Windows7 ・IE10 ・IfranView(画像表示ソフト)←tiffが表示されるのでしたら別アプリでもかまいません。
質問日時: 2014/05/09 10:44 質問者: workpad30j
ベストアンサー
1
0
-
HTML Perlカウンター
WEBで自作mp3を公開しています。再生時にカウンタを入れています。 (各所に出ているHTMLカウンターです) カウンター自体の機能はちゃんと動くのですが、 何10曲ものカウントが一斉に瞬時に行われているのです。再生時の時刻もIPアドレスも同じなのです。 普通に1曲1曲聞いていれば数分おきに、カウント数もバラバラになるはずですが。 何かプロバイダの検索収集かなと思うのですが、こんなのはカウントしたくないのです。 何かいい方法はありませんかね? そういうIPアドレスを1つ1つ除外するというロジックを入れるしかないかと思っているのですが。
質問日時: 2014/05/01 10:09 質問者: shibajunko
ベストアンサー
1
0
-
Perlのデータファイルの運用について
現在Perlでソフトの管理プログラムを作っています。 1万件くらいまではまま順調に動いていたのですが 現在1万5千件くらいになって表示的にはそこそこ高速なのですが サーバー(ドリームホストの一番安いの・・・すいませんケチで)が 月に1度程度、極端に遅くなります。 どうも私の巨大データに問題が有るようなのですが・・・ で、サーバーの負荷をすこしでも減らしたいと思っているのです。 現在、検索の場合等は、全1万5千件余りのデーターを @all_data=<DATA>; で全読みし、各行の照合作業をした後、結果を出力しています。 これを1000件ごとのファイルに分割し、 1枚目ファイルオープン→@all_data=<DATA>;→結果収集、 2枚目ファイルオープン→@all_data=<DATA>;→結果収集、 ・ ・ ・ 15枚目ファイルオープン→@all_data=<DATA>;→結果収集、 で、結果を出力 の様に変更した方がサーバー負荷(CPU使用率やメモリー消費)は 少なくなる物でしょうか? または1行づつ照合作業し、結果を出力、 と言う手も有ると思うのですが・・・。 余り詳しくないので・・・出来ましたら素人向けの回答を背宜しくお願いします。
質問日時: 2014/04/30 21:24 質問者: nobu003
解決済
3
0
-
HTMLからCGIへデータを引き継ぎ
HTMLでメールフォームを作りCGI(Perl)で次のプログラムを作りました。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "$mail\n"; print "$namae\n"; print "$naiyou\n"; 動作確認のためプログラムは少しにしました。何も表示されません。
質問日時: 2014/04/30 16:08 質問者: andou220
ベストアンサー
2
0
-
CGIプログラムのテスト
#/usr/local/bin/perl print "Hello!"; と入力して実行したらエラー500が出ました。 Windows7で Active Perl 5.16.3(x86) Apache httpd-2.0.65-win32-x86-no.ssl.msi(x86) のインストール済みです。 原因がわかりません。
質問日時: 2014/04/21 15:54 質問者: andou220
ベストアンサー
1
0
-
ハッシュのハッシュを値とキーでソートする方法
%array = ( 'A' => { 'a' => 7, 'b' => 3, 'c' => 9, 'd' => 1, }, 'B' => { 'a' => 3, 'b' => 8, 'c' => 3, },); のようなハッシュがあったとして、値の降順、1つ目のキー昇順、2つ目のキー昇順でソートし、下のような形で出力したいのですが、どのようにすればよいのでしょうか。 A c 9 B b 8 A a 7 A b 3 B a 3 B c 3 A d 1
質問日時: 2014/04/17 03:24 質問者: niku-udon
ベストアンサー
1
0
-
Perlインストール(Windows)
Windows7(64bit)にPerlをインストールしようと思います。(CPANも利用したい) Cygwin, Active Perl, Padre など、いろいろな方法があると思いますが、おすすめは何ですか? 将来的にMacやLinuxに機種替えをすることを射程に入れた場合を考えて、使い勝手をWindows特有の環境ではなく、なるべく汎用的なものにしたいと思うのですが、違いがわかりません。ターミナルの選択も合わせておすすめを教えていただければと思います。
質問日時: 2014/04/16 10:57 質問者: cat-rice
ベストアンサー
3
0
-
CGI(Perl)でメールフォームを作ったのですが
CGI(Perl)でメールアドレス、名前、内容のメールフォームを作ったのですがうまくいきません。 http://homepage.biglobe.ne.jp/errorpage/500.html CGIプログラムのエラーが発生しました。 原因 CGIプログラムの実行に問題があります。 まれに、予期しないサーバのエラーが原因でこのメッセージが出る場合があります。 と表示されます。 CGIのプログラムを作る前はHTMLだけで作っていました。 <form action="mailto:メールアドレス"~ メールアドレスを非公開で送信するには。
質問日時: 2014/04/12 17:01 質問者: andou220
ベストアンサー
1
0
-
perlで先頭の数値をみて昇順にならびかえたい。
perlで先頭の数値をみて昇順にならびかえたい。 以下のようなデータの先頭の二桁の数値をみて、昇順に行ごと並び替えをしたいです。 sort を使えば簡単にできるのでしょうか? perlをはじめたばかりでよくわかりません。 ぜひ詳しく教えてください。お願いします
質問日時: 2014/04/04 07:11 質問者: kosiba
解決済
4
0
-
ppmのリポジトリの場所
GD::SecurityImage::AC Image::Magick 上記のモジュールをactive_perlのppmでインストールしたいのですが、リポジトリがなかなか見つかりません。リポジトリ の場所をご存じでしたら教えていただけませんでしょうか。よろしくお願いいたします。 動作環境と登録済のリポジトリは以下です。 ちなみにppmはGUIを使っています。 os : windows8.1 perl : active_perl 5.16.3 登録済のリポジトリ : http://www.bribes.org/perl/ppm http://www.bribes.org/perl/ppm/package.xml http://log4perl.sourceforge.net/ppm http://trouchelle.com/ppm10/ http://cpan.uwinnipeg.ca/PPMPackages/10xx/ http://www.wxperl.co.uk/repository/ansi http://www.wxperl.co.uk/repository http://ftp.nara.wide.ad.jp/pub/CPAN/authors/id/H/HM/HMBRAND/ です。 宜しくお願い致します。
質問日時: 2014/03/31 17:25 質問者: osama_vin_ladin
ベストアンサー
1
0
-
LWPでPOST送信した後に送信先に移動したい
LWPで別サーバーのtest.cgiに以下のようなコードで POST送信しています。 use HTTP::Request::Common; use LWP::UserAgent; $query="param1=dummy"; $ua = LWP::UserAgent->new(); $req = HTTP::Request->new(POST => "http://xxx.xxx.xxx/test.cgi"); $req -> content_type('application/x-www-form-urlencoded'); $req -> content($query); $res = $ua->request($req); $success = $res -> is_success; if(!$success){ die("error"); } $con = $res -> content; この場合、$conにtest.cgiの出力が入るだけで、 URLのhttp://xxx.xxx.xxx/test.cgiに遷移することはできません。 HTMLのformタグでPOST送信したときのように、 POSTでデータを送信してかつ、その送信先に移動するということはできるのでしょうか。 LWPでなくてもいいです。 要するにHTMLのformタグでのPOST送信を手動ではなく、自動で行いたいわけですが、 <form action="http://xxx.xxx.xxx/test.cgi" method="post"> <input type="hidden" name="param1" value="dummy"> </form> このようなタグのあるHTMLを表示して、 JavaScriptでonLoadでsubmitすればできるのですが、 JavaScriptを使っているとSSLの場合にセキュリティのアラートがでる場合があるので、 できればPerlだけでできないかと思ったのです。
質問日時: 2014/03/23 04:58 質問者: neko173
解決済
1
0
-
jcode.plのかわり
jcode.plの jcode::tr() のかわりを探しています。 jcode.plの jcode::tr(\$val,'0-9A-Za-z ()_@-','0-9A-Za-z ()_@-'); をPerl5.18.2で使用するとエラーが出てしまいます。これを回避したい。 プログラムがUTF-8であれば $val =~ tr/0-9A-Za-z ()_@-/0-9A-Za-z ()_@-/; のようにすれば実現可能みたいですが、プログラムはEUCで書かれています。 影響範囲からプログラムの文字コードをかえることはできれば避けたい。 一文字ずつ変換することも考えましたが、この方法ではパフォーマンスに懸念があります。 jacode.plなるものもありますが、これに置き換えるだけでは文字化けしてしまいました。 jcode::tr()のかわりになるような手段はあるのでしょうか?
質問日時: 2014/03/10 15:10 質問者: miyan2000
ベストアンサー
7
0
-
Perl の「stringify」の意味について
サンプルプログラムで Perl を勉強しているのですが、以下の「stringify」の意味がいまいちわかりません。 画像検索APIから画像URLを引いてきて、その画像をダウンロードするサンプルです。 ---- $ua->get($image_url, ':content_file' => $filepath->stringify); ---- ※http://yusukebe.com/archives/20120229/072808.html LWP::UserAgent のリファレンスを見ても、:content_file => $value と書いてあるだけで、stringfy についてはわかりません。ほか検索もしてみたのですが、でてくる結果が JSON.stringify ばかりで、それのことなのかも判断できません。 この「stringify」はどういう意味なのでしょうか。
質問日時: 2014/03/05 13:15 質問者: na0914
ベストアンサー
2
0
-
同じ番号のデータを別のファイルにはきだだすには?
下の画像のようのデータを一行一行みていき、先頭二桁が上の行と同じ場合それを同じファイルに一行一行はきだしたいです。 例 3,4,5行目は3.txt ファイルにはきだす。6.7行目は2.txtファイルにはきだす。その他は1.txtファイルにはきだす。 シンプルでわかりやすい方法を教えていただきたいです。 よろしくお願いいたします。
質問日時: 2014/03/02 09:58 質問者: kosiba
解決済
4
0
-
ActivePerl 1行入力で 'と"がある場合
ActivePerlの初心者ですが基本的なことが分からないので教えてください。 まだ覚えたばっかりで1行入力でいろいろ書式を入力して確認しながら覚えているのですが 例えば、ネット上に 各行の最初の10文字を捨てる perl -lne 'print substr($_, 10) = ""' file というようなサンプルが記述されているのですが 実際に入力してみると 「Can't find string terminator "'" anywhere before EOF at -e line 1.」 というようなエラーが出ます。 どうも ' が使えないようなのですが なぜエラーになるのかがよく分かりません。 この原因が分からないので試行錯誤で ' を " で行ったりして エラーを回避しながら確認しているのですが 上記のように ' と ' の中にさらに " と " がある場合には どのように回避したらよいのかがよく分かりません。 上記のような例の場合にはどのように入力すれば エラーが出なくなるのでしょうか。
質問日時: 2014/03/01 23:08 質問者: fs3yjmo
ベストアンサー
3
0
-
ActivePerlで#!/usr/bin/が無効
WindowsXPにActivePerl(5.16.3.1603)をインストールして、 コマンドラインに「perl script.scr」と入力して スクリプトファイルは実行できるのですが、 スクリプトファイルの1行目に「#!/usr/bin/perl」を記述して、 コマンドラインに「script.scr」と入力して実行しようとすると、 「C:\・・・\script.scrは有効なWin32アプリケーションではありません。」 というメッセージが表示されて正しく実行できません。 perl.exeのあるフォルダをC:\usr\binフォルダにして、 1行目を #!/usr/bin/perl #!C:/usr/bin/perl #!C:\usr\bin\perl などいろいろ試してみましたが、どれも 前述のメッセージが表示されて実行できませんでした。 コマンドラインに「script.scr」と入力するだけで 実行することができるようにするには どのようにすればいいのでしょうか。 script.scrの拡張子scrをplなどに変更して この拡張子のファイルに対してperl.exeに関連付けることにより script.plだけでも実行できるようにはなりますが 拡張子.scrではこの関連付けができませんので #!/usr/bin/perl等を使用する方法で解決したいです。 ジャンクションとかApacheなどが全く分かりませんので これらを使わずに簡単にできる方法がありましたら教えてください。 (なお使っても分かりやすい手順があれば可です) よろしくお願いします。
質問日時: 2014/03/01 20:35 質問者: fs3yjmo
ベストアンサー
1
0
-
自作cgiのページがIE10で文字化けする
Perlでcgiのページを作っています。文字コードはEUCです。 最近、IEのバージョンを8から10にアップグレードしたのですが、 自分の作ったページが、たまに文字化けするようになりました。 IE10のエンコード設定は「自動選択」にしていますが、 自動で「西ヨーロッパ言語(ISO)」に判断されてしまいまうことがあります。 Perlのcgiの文字コードはEUCで、ソースには以下のようにEUC-JPを指定しています。 <meta http-equiv="Content-Type" content="text/html;charset=EUC-JP"> 手でIE10の文字コードをEUCに設定すれば文字化けは直るのですが、 数日経つとまた同じように文字化けで「西ヨーロッパ言語(ISO)」に自動判断されてしまいます。 metaでEUC-JPをしていればブラウザ側で自動判断してくれると思っていたのですが、違うのでしょうか? HTMLでmeta以外に文字コードを指定するところがあるのでしょうか?
質問日時: 2014/02/28 09:19 質問者: workpad30j
ベストアンサー
1
0
-
perlでメール配信 文字化けなぜ・・・
私はperlのsend mailを使ってメールを配信するシステムを作っているのですがタイ語で送ると文字化けになってしまいます。文字コードの設定などの問題なのでしょうか?
質問日時: 2014/02/24 18:20 質問者: ppcz80p1
解決済
1
0
-
perl 文字列検索後に指定フィールドの値を変数へ
菊池と申します。 perlスクリプトで下記のような文字列を検索し、検索されたら指定したフィールドの値を変数に入れたいのですが、grepやawkを使うと、ファイル中のすべてが検索対象になってしまい困っております。 文字列検索の表現方法をご教授頂けると大変助かります。 下記へperlスクリプトの一部を記載させて頂きました、データはcsv形式です。 変数に入れる事が出来なかったので、抽出した値をファイルへ出力させています。 検索文字列=2013/11/19,09:00:00,13:00:00 データの中味 <94>N/<8c><8e>/<93>ú,<89>ð<90>Í<8a>J<8e>n<8e><9e><8d><8f>,<89>ð<90>Í<8f>I<97>¹<8e><9e><8d><8f>,<8c>ö<8b>¤<8d>À<95>WX(m),<8c>ö<8b>¤<8d>À<95>WY(m),<95>W<8d><82>H(m),<88>Ú<93>®<95>½<8b>Ï<92>lX(m),<88>Ú<93>®<95>½<8b>Ï<92>lY(m),<88>Ú<93>®<95>½<8b>Ï<92>lH(m),<8f><89><8a>ú<92>l<82>©<82>ç<82>Ì<95>Ï<93>®<97>ÊX(m),<8f><89><8a>ú<92>l<82>©<82>ç<82>Ì<95>Ï<93>®<97>ÊY(m),<8f><89><8a>ú<92>l<82>©<82>ç<82>Ì<95>Ï<93>®<97>ÊH(m),2D<8b><97><97>£(m),3D<8b><97><97>£(m),<88>Ú<93>®<95>½<8b>Ï2D<8b><97><97>£(m),<88>Ú<93>®<95>½<8b>Ï3D<8b><97><97>£(m),<91>ª<88>Ê<83>t<83><89><83>O,<91>ª<88>Ê<90>¸<93>x,<88>Ù<8f>í<92>l<83>t<83><89><83>O<81>i<8f><89><8a>ú<92>l<81>j,<88>Ù<8f>í<92>l<81>i<8c>x<89>ú<83><89><83><93><83>N<81>j,<94>ò<82>Ñ<92>l<83>t<83><89><83>O, 2013/11/18,01:00:00,05:00:00,-68213.2327,17746.2653,2093.7982,-9999.0000,-9999.0000,-9999.0000,5.0099,-0.5989,-4.8100,16215.1100,16255.8006,-9999.0000,-9999.0000,4,0.0019,0,0,0, 2013/11/18,05:00:00,09:00:00,-68213.2273,17746.2666,2093.7872,-9999.0000,-9999.0000,-9999.0000,5.0153,-0.5976,-4.8210,16215.1061,16255.7959,-9999.0000,-9999.0000,4,0.0014,0,0,0, 2013/11/18,09:00:00,13:00:00,-68213.2256,17746.2692,2093.7792,-9999.0000,-9999.0000,-9999.0000,5.0170,-0.5950,-4.8290,16215.1030,16255.7923,-9999.0000,-9999.0000,4,0.0016,0,0,0, 2013/11/18,13:00:00,17:00:00,-68213.2236,17746.2737,2093.7682,-9999.0000,-9999.0000,-9999.0000,5.0190,-0.5905,-4.8400,16215.0981,16255.7866,-9999.0000,-9999.0000,4,0.0014,0,0,0, 2013/11/18,17:00:00,21:00:00,-68213.2306,17746.2741,2093.7672,-9999.0000,-9999.0000,-9999.0000,5.0120,-0.5901,-4.8410,16215.1015,16255.7899,-9999.0000,-9999.0000,4,0.0016,0,0,0, 2013/11/18,21:00:00,01:00:00,-68213.2308,17746.2739,2093.7882,-9999.0000,-9999.0000,-9999.0000,5.0118,-0.5903,-4.8200,16215.1017,16255.7916,-9999.0000,-9999.0000,4,0.0016,0,0,0, 2013/11/19,01:00:00,05:00:00,-68213.2221,17746.2743,2093.8062,-9999.0000,-9999.0000,-9999.0000,5.0205,-0.5899,-4.8020,16215.0968,16255.7880,-9999.0000,-9999.0000,4,0.0017,0,0,0, 2013/11/19,05:00:00,09:00:00,-68213.2140,17746.2808,2093.7982,-9999.0000,-9999.0000,-9999.0000,5.0286,-0.5834,-4.8100,16215.0870,16255.7777,-9999.0000,-9999.0000,4,0.0013,0,0,0, 2013/11/19,09:00:00,13:00:00,-68218.2472,17746.8587,2098.6543,-9999.0000,-9999.0000,-9999.0000,-0.0046,-0.0055,0.0461,16217.2238,16258.2532,-9999.0000,-9999.0000,4,0.0017,0,0,1, 2013/11/19,13:00:00,17:00:00,-68218.2538,17746.8600,2098.6633,-9999.0000,-9999.0000,-9999.0000,-0.0112,-0.0042,0.0551,16217.2263,16258.2563,-9999.0000,-9999.0000,4,0.0014,0,0,1, 2013/11/19,17:00:00,21:00:00,-68218.2603,17746.8538,2098.6473,-9999.0000,-9999.0000,-9999.0000,-0.0177,-0.0104,0.0391,16217.2349,16258.2638,-9999.0000,-9999.0000,4,0.0016,0,0,1, <<スクリプトの一部>> #`grep "'2013/11/19,09:00:00,13:00:00'" $SS | awk -F"," '{print \$13}' $SS > $SS-2D`; #`grep "'2013/11/19,09:00:00,13:00:00'" $SS | awk -F"," '{print \$14}' $SS > $SS-3D`; `awk -F"," '\$1 ~ \/2013\/11\/19\/ && \$2 == \/09\:00\:00\/ {print \$13}' $SS > $SS-2D`; `awk -F"," '\$1 ~ \/2013\/11\/19\/ && \$2 == \/09\:00\:00\/ {print \$14}' $SS > $SS-3D`; 以上 よろしくお願いいたします。
質問日時: 2014/02/20 12:03 質問者: nnirosan
ベストアンサー
6
0
-
perlで画像をダウンロードしようと思っています
gazou_element.txtにurlを保存していて、それらを一つずつ取り出してダウンロードするようにしようとしているのですがError:Invalid argument at C:User~~~となってしまいます。 どうすればいいかよろしければお教え下さい。 use Encode; use LWP::UserAgent; use IPC::Open2; use warnings; $file = "gazou_element.txt"; open (IN, $file) or die "$!"; my @url =<IN> ; my $time = time; for(my $i = 0; $i < scalar(@url); $i++){ my $request = HTTP::Request->new('GET', $url[$i]); my $ua = LWP::UserAgent->new; $ua->agent('Mozilla/4.0'); my $response = $ua->request($request); my $prefix = get_prefix($url[$i]); my $count = $i + 1; if($response->is_success){ open($OUT, ">","$time$i$prefix") or die("Error:$!"); binmode $OUT; print $OUT $response->content; close $OUT; }else{ } } #拡張子を取得する sub get_prefix{ my $url = shift; my $start = rindex($url, "."); my $end = length($url); my $string = substr($url, $start, $end - $start); return $string; }
質問日時: 2014/02/18 14:33 質問者: araken101
解決済
2
0
-
perlで指定か所のurlを取り出したいのですが
下記のような文字列からhttp://.......jpや....pngなどの部分だけ抜き出したいのですがどうすればいいかわかりません。 どうすればいいでしょうか?? <img src="http://i.yimg.jp/images/bloom/v201212/anonymous_24.png" width="24" height="24"> <img src="http://i.yimg.jp/images/clear.gif" alt="??????????????" width="1" height="1"> <img src="http://amd.c.yimg.jp/im_siggUafHxX5zBqYXXUl0MFuDGQ---x172-y200-q90/amd/20140212-00000043-dal-000-11-view.jpg" width="172" height="200" alt="???????????????????????????????????????????????????????" onContextMenu="javascript:return false;"> <img src="http://i.yimg.jp/images/news/cobranding/dal.gif" alt="????????????" width="170" height="40"> <img src="http://iwiz-talent.c.yimg.jp/im_siggAkAHOLx3UJ96IWzMLAa3aw---x80-y80-pril/o/talent/images/talent/201402/10/m07/m07-1255-140210.jpg" alt="???????????" border="0" width="80" height="80"> <img src="http://i.yimg.jp/images/news/v2/loading_32_b_2x.gif" width="32" height="32"> <img src="http://amd.c.yimg.jp/im_siggdUHHiAjMx0Vtxw6UiBjXGA---x49-y60-q90/amd/20140211-00000068-dal-000-8-view.jpg" alt="?????????????????????????????????Ф????????????"> <img src=" http://i.yimg.jp/images/evt/sochi/images/banner300x90.jpg" alt="????????????????????????" width="300" height="90"> <img src="http://lpt.c.yimg.jp/im_siggOxcR1sffKraZiSLM4Tvlwg---x60-y53-q90/amd/20140212-00000046-spnannex-000-thumb.jpg" alt="????????????μ???????????裲?????????Τ???"> <img src="http://lpt.c.yimg.jp/im_siggd24L.DRjsSsOFQzvcUudxA---x60-y40-q90/amd/20140212-00000104-scn-000-thumb.jpg" alt="???Ρ???????Ф???????????????????????"> <img src="http://lpt.c.yimg.jp/im_sigg5ySCgAEx9Mr.pAnTk_BLeA---x45-y60-q90/amd/20140211-00000010-tospoweb-000-view.jpg" alt="?????????????????????Ρ?????????"> <img src="http://lpt.c.yimg.jp/im_siggbLLaxB6uLw4PgQNbIotTPw---x57-y60-q90/amd/20140212-00000039-dal-000-view.jpg" alt="???????????????Τ????????????????????????????????????????"> <img src="http://amd.c.yimg.jp/im_sigg9vWalgQCOQonMxnTWgrpUg---x40-y60-q90/amd/20140211-00010000-jisin-000-2-view.jpg" alt="??????????????????????????????????????????"> <img src="http://i.yimg.jp/images/clear.gif" width="1" height="1" alt="?????????????"> <img src="http://i.yimg.jp/images/clear.gif" alt="???Υ???????????" width="1" height="1"> [Finished in 0.9s]
質問日時: 2014/02/12 15:39 質問者: araken101
ベストアンサー
3
0
-
perl 初めてのプログラムにエラーが出ます
hello.pl というファイルに print “hello”; と、書きました。 ターミナルに perl -cw hello.pl と、入力しました。 Unrecognized character \xE2; marked by <-- HERE after print <-- HERE near column 7 at hello.pl line 1. と、メッセージが出ました。 解決方法を教えて頂きたいです。 よろしくお願いします。
質問日時: 2014/02/08 23:01 質問者: nwork
ベストアンサー
2
0
-
perlによるシステム上の任意のプログラム実行
Perl初心者です。 システム上の任意のプログラムを実行しようと考えています。system関数のように呼び出し元に戻っては欲しいのですが、プログラム完了までwaitしないようにしたいのです。何か良い方法はあるのでしょうか。是非、ご教授いただきたく存じます。
質問日時: 2014/02/03 23:22 質問者: j04315
解決済
1
0
-
perlでFORMの使い方を教えて下さい
初歩的な質問ですが、perlでプログラムを作っているのですが困っています。 現象はinput動作のとき、TYPT=textや、input=radioで入力を待っている画面で、マウスカーソルを枠の中に入れた時点から、マウスカーソルの形が「手」の形になり、その領域で(枠の中で)マウスをクリックすると初期画面(トップのHTMLページ)に戻ってしまいます。 一方、マウスカーソルをinputの入力範囲、あるいはradioのボタンの中に移動するとマウスカーソルは「手」の形から「矢印」の形になりinput入力やボタン選択が正常に出来ます。 この状態では、マウスを正確にinput入力範囲やradioボタンをクリックしないと初期画面に戻るため、マウス操作に大変神経を使うため困っています。 ほかの人の画面を見ていると、マウスカーソルはinput領域やボタンの中に入ったときだけ有効となり、ほかのどの領域でマウスをクリックしても初期画面に戻ったりせずに、何のアクションもしません。 私はそのようなマウス制御をしたいと望んでいます。 下記は色んな部分を端折ったプログラムですが原因を教えていただきたく。よろしく、お願い致します。 ==== <HTML> <BODY bgcolor="white"> <FORM ACTION="index.cgi" METHOD=get> <DIV style="top:148px; left:50px; position:absolute; z-index:3; id="Layer1"> <DIV><TABLE border="3" width="884" height="350"><TBODY><TR> <TD bgcolor="#ffffff" height="350" valign="top"><B><FONT size="+1"><BR></FONT></B> <FONT color="#ff0000">パスワードを5桁で入力してください</FONT> ⇒⇒ <INPUT TYPE=text NAME=mypasswd size=6 value=></FONT></B> </TD></TR></TBODY></TABLE></DIV></DIV> </FORM> </BODY></HTML> ===
質問日時: 2014/02/01 20:02 質問者: OK_OK_Wave
ベストアンサー
1
0
-
PerlのIF文について
PerlのIF文の判断式につきまして、式全体を変数にしたいのですが、うまくできません。 初歩的な質問で大変恐縮ですが、他の言語を使っている人に聞いてもできるということなので、Perlでもできるような気がするのですが、うまく動かないので教えていただけませんでしょうか。 $ifbun="index(文字列, 検索したい単語) >=0"; if($ifbun){ 処理 } とっても簡単な式なのですが、このままですと条件式を加味しない処理結果になっています。 $ifbunの中身をそのままIFの条件式に入れると問題なく条件式どおりの結果が得られるので、プログラムは間違っていないと思うのですが、変数に入れると、条件を加味していない結果が出てきます。 どなたかお分かりの方がいらっしゃいましたら教えてください。 どうぞよろしくお願いいたします。
質問日時: 2014/01/21 10:07 質問者: gosp1
ベストアンサー
3
0
-
perlについて質問があります。
最近になって、自サイトをチェックしてたらおかしな事になっている事に気がつきました。 この現象は、windows7のIE10、11についてのみです。 windows7でも、google chrome、firefoxにおいては正常です。 windows8においては、全て正常です。 ロジックは、下の通りです。 $MENU.="<td><a href=\"$backurl\">HOME</a></td>\n"; if($mode eq "man"){$MENU.="<td bgcolor=\"$b_col\">";}else{$MENU.="<td>";} $MENU.="<a href=\"$cgi_f?mode=man&no=$no$pp\">HELP</a></td>\n"; これでhtmlで表示してみると。 <td><a href="../../../index.shtml">HOMEa href="./yybbs.cgi?mode=man&no=0">HELP</a></td> と言う具合におかしな表示になってしまいます。 一体なにが起こったのか、検討も付きません。 解る方、宜しくお願い致します。
質問日時: 2014/01/15 07:03 質問者: yodogou
解決済
2
0
-
canonicalのURLエンコードについて
ネットで無料配布されているAmigodatabaseというPerlで、データベースのサイトを作っております。 以下は、データベースの結果一覧を出力するための、default.htmlというページのソースの一部です。 print <<"<!---HTML--->"; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML lang="ja"><HEAD> <link rel="canonical" href="$FORM{$SEARCH{1}{Name}}.htm"> (中略) <META name="description" content="$FORM{$SEARCH{1}{Name}} の名産果物です"> <TITLE>$FORM{$SEARCH{1}{Name}} の果物</TITLE> 上記、$FORM{$SEARCH{1}{Name}}には、 検索した際に使ったキーワードが表示自動挿入されます。 このキーワードが、例えば「りんご」だった場合に、 URLエンコードを行って、「%e3%82%8a%e3%82%93%e3%81%94」と 上記、<link rel="canonical" href="$FORM{$SEARCH{1}{Name}}">の $FORM{$SEARCH{1}{Name}}を、%e3%82%8a%e3%82%93%e3%81%94として、 つまり、<link rel="canonical" href="%e3%82%8a%e3%82%93%e3%81%94.htm"> としたいのですが、どのようなソースを書けば、実現できるのでしょうか? どうかアドバイスのほど、よろしくお願い致します。m(_ _)m
質問日時: 2014/01/08 08:19 質問者: hayama7umi
解決済
1
0
-
動的なURLの場合、TITLEタグ内最後に★を表示
Perlでデータベースサイトを作成しています。 通常、Perlでcgiを作成すると、動的なURLになると思いますが、それを静的なURLへ変換しています。 問題なのが、検索エンジンがクロールする時に、静的なURLと動的なURLの両方をクロールしており タイトルタグの重複が発生しています。 link rel="canonical" で重複を解消できることは知っていますが、 諸事情によりこの機能が有効ではない状態です。 もし動的なURLになった場合に、自動的にHTMLのTITLEタグ内の最後に「★」を表示させて、 静的なURLと動的なURLとで発生しているタイトルタグの重複を解消したいと思っています。 どのようなコードを記載すれば、希望通りにできますでしょうか? どうぞよろしくお願い致します。
質問日時: 2014/01/03 23:14 質問者: mcse
ベストアンサー
2
0
-
Perlで変数に代入された文字の置き換えを行いたい
Perlで、変数Aに代入された文字を変換し、変数Bに代入するプログラムを作りたいと思っています。 具体的には、「北海道」が変数Aに代入されると、「hokkaido」を変数Bに代入するというものです。 これを47都道府県全体でやりたいと思っています。 プログラムの都合上、 北海道 → 変数A → hokkaido → 変数B という流れで変換する必要があります。 具体的なソースを何卒ご教示いただければ幸いです。 お手数をお掛けいたしますが、アドバイスのほど、よろしくお願い致します。
質問日時: 2014/01/03 19:15 質問者: mcse
ベストアンサー
2
0
-
プログラムの保存日時を更新せずに実行時、動きが変?
Perlで書かれたプログラムの内容を変更せずに、 プログラムで参照するデータの一部を変更した上でプログラム実行すると、 処理どおり動作しないことが何度かありました。 その際、Perlで書かれたプログラムの内容を変更せずに 保存時刻を変更(上書き保存)すると、正しく動作していました。 そのようなことはあるのでしょうか?
質問日時: 2014/01/02 12:53 質問者: okayama394
解決済
2
0
-
自CGIのURLの一部を取得する方法
http://xxx.jp/xxx/xxxxxxx/xxxxxx.cgi?cmd=s&xxxx&xxx&Tfile=Data&TrColor=%xxx&Sort=xxx_xxxx&page=1 上記のようなURLがブラウザに表示されていて、末尾に「page=1」という文字がある時だけ HTMLのMETAタグのDESCRIPTIONに page=1 を挿入したいです。 ちなみに、そのページには、以下のように DESCRIPTIONが記載されており、下記の★の部分に 「page=1」というURLの一部の文字を挿入したいと考えています。 <META name="description" content="説明文 ★"> Perl でどのように記述すれば宜しいでしょうか? どうかアドバイスをお願い致します。 m(_ _)m
質問日時: 2013/12/25 19:36 質問者: mcse
ベストアンサー
2
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Perl】に関するコラム/記事
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlで特定文字列から特定文字列ま...
-
perl 初等プログラミングについて
-
Perlのエラーについてご教授くださ...
-
perlプログラミング 空白行削除
-
Windows10においての『Perl』のプロ...
-
openした後、closeしないでプログラ...
-
perlをバージョンアップしたら、今...
-
Perlでファイルの末尾から指定文字...
-
INDIRECT 横に再度抽出したい
-
テキストファイルで提出とは?
-
perl の open について教えてくださ...
-
アルファベットに付いて質問します...
-
#!/usr/bin/perlで書きだしたCGIを...
-
ファイルアイコンの左下に緑の□の中...
-
Perlで時間の計算
-
perlの構文でカンマの意味が分からない
-
Blenderについて
-
Perl の外部モジュールの利用方法
-
Perlのプログラムについて
-
vlookupがうまくいきません、教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
openした後、closeしないでプログラ...
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授くださ...
-
perlをバージョンアップしたら、今...
-
perlで2次元配列をサブルーチンに...
-
INDIRECT 横に再度抽出したい
-
Wallpaper Engineでおすすめの壁紙...
-
bashスクリプト
-
Strawberry Perl for Windows で Ou...
-
perlプログラミング 空白行削除
-
perlの構文でカンマの意味が分からない
-
Perl の外部モジュールの利用方法
-
Perlで、「が」を、「が」...
-
Windows版のPerlについて
-
Perlで時間の計算
-
Perlでファイルの末尾から指定文字...
-
perl 初等プログラミングについて
-
VBA変数をFunction.VLookupの戻り値...
-
Perlで特定文字列から特定文字列ま...
-
perl 正規表現でエラー
おすすめ情報