• ベストアンサー

半角スペースを消すだけです

スクリプトの途中からです。 print "<blockquote>$com</blockquote><hr color=$line_color>\n"; } } close(IN); # タイトル名 if ($resub !~ /^Re\:/) { $resub = "Re\: $resub"; } print <<"EOM"; <a name="RES"></a> Re: の後に続く半角スペースを無しにしたいんですが、 どこをどうやったらよろしかったんですやろか…。 暇なときにでもお願いします。

  • nuoh
  • お礼率66% (367/548)
  • CGI
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

if ($resub !~ /^Re\:/) { $resub = "Re\: $resub"; } を if ($resub !~ /^Re\:/) { $resub = "Re\:$resub"; } にする。 半角スペースを取るだけだと思うけど?

nuoh
質問者

お礼

ですよね! さっそくの回答ありがとうございます。

関連するQ&A

  • コードの中に &#32 とあるのですが、意味と何を処理しているのか分りません。

    有名な方のコードを勉強していたところ、以下のようなコードがありました。 その中に &#32 という部分がありましたが、調べても分りません。 $i=0; while(<IN>){ $i++; . . . print "[<b>$no</b><b>$sub</b>&#32"; print "投稿者:<b>$name</b><small>投稿日:$date</small>&#32"; print "[<a href=\"$script?mode=resmsg&no=$no\">返信</a>]<br>\n"; print "<blockquote>$com<p>$url</blocquote><hr>\n"; } とあります。 &#32 の部分が分りません。教えて下さい。

    • ベストアンサー
    • Perl
  • ログファイルに余計なスペース

    以前も同じような質問をして回答をいただいたのですが、 ちょっと状況がかわったので再度質問させていただきます。 以前は print FILE"@log"; とするとスペースが入る、としたところ print FILE @log; とすればOKという回答をいただき、解決していたんですが、 今回は print FILE"$ID<>$COUNT<>$TITLE<>$NAME<>$PASSWORD<>$COLOR<>$NAKAMI<>$TIME<>$SEARCHKEY\n@log_file"; としたいのです。 やはり半角スペースが行頭に入ってしまいます。 これを回避するにはどうしたらいいですか?

  • うまく書き換えが出来ない。

    記事修正画面部分の構築中です。 現在以下のような感じです。 sub edit3 { # ログファイル読み込み open (FILE, "$data") || &error("ファイルが開けません"); @data = <FILE>; close(FILE); # カウント退避 $count = shift (@data); foreach $line (@data) { ($no,$n1,$a1,$com1,$n2,$a2,$com2,$n3,$a3,$com3,$n4,$a4,$com4,$n5,$a5,$com5,$name,$nani,$kou1,$kou2,$pass) = split(/<>/,$line); chomp; if ($in{'edit_no'} eq $no){ $line = "$no<>$in{'n1'}<>$in{'a1'}<>$in{'com1'}<>$in{'n2'}<>$in{'a2'}<>$in{'com2'}<>$in{'n3'}<>$in{'a3'}<>$in{'com3'}<>$in{'n4'}<>$in{'a4'}<>$in{'com4'}<>$in{'n5'}<>$in{'a5'}<>$in{'com5'}<>$in{'name'}<>$in{'nani'}<>$in{'kou1'}<>$in{'kou2'}<>$in{'pass'}<>\n"; } else {$line = "$no<>$n1<>$a1<>$com1<>$n2<>$a2<>$com2<>$n3<>$a3<>$com3<>$n4<>$a4<>$com4<>$n5<>$a5<>$com5<>$name<>$nani<>$kou1<>$kou2<>$pass<>\n";} push(@new,$line); } # ログを更新 unshift(@new,"$count"); open(OUT,">$data") || &error("修正処理を失敗しました"); print OUT @new; close(OUT); &pass; } さて、この状態で複数ある情報の一番最新のものを更新すると、一番古いものまで書き換えられてしまいます。(1.2.3と記事があった場合、3を修正すると、3と1が修正されてしまう) どこがおかしいのでしょうか?自分では間違っているようには見えないのですが… 修正・改善をお願いします。

    • ベストアンサー
    • Perl
  • 半角スペースが有効にならない。

    前のページで入力された値を取得するCGIですが、どうしても半角スペースを認識しません。 それどころか、半角スペースの後ろを一切消してデータを取得しています。 同じように作成したものはきちんと動いているのに…。 どこが間違ってるかご指摘お願いします。 ---------- #!/usr/local/bin/perl read(STDIN,$buffer,$ENV{'content_length'}); @atai = split(/&/,$buffer); foreach $atais(@atai){ ($key, $value) = split(/=/, $atais); $FORM{$key}=$value; } $buffer =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $buffer =~ tr/+/ /; $value =~ tr/+/ /; $key =~ tr/+/ /; print "Content-type:text/html\n\n"; print "$key<BR>\n"; print "<A HREF=./***.cgi>Back</A><BR>\n"; open (FH,">***.log"); @filew="$buffer\n"; print FH @filew; close(FH); exit; ---------- 以上です。よろしくお願いします。

    • ベストアンサー
    • CGI
  • PHPのPOSTでの半角スペース

    PHP5.1.6を使用しています。 POSTで以下のようにnameの値に半角スペースを含め <input type="hidden" name="p o s t" value="p o s t"> 以下のようにデータを受け取って表示させると foreach($_POST as $k=>$v){ print $k."=".$v."<br>\n"; } p_o_s_t=p o s t と表示されます。nameに半角スペースが含まれると強制的にアンダースコアに変換されているように思われます。valueの方は半角スペースのまま表示されます。 これはPHPの仕様なのでしょうか。Perlではこのようなことはないようです。 この点について詳しい情報をお持ちの方はお教えいただきたく思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 何で出来ないか分かりません

     PerlおよびCGIを最近はじめました。教科書を見ながら作っているのですが、ファイルへの書き込み・読み出しがよく分からないので、質問しました。  1つのページにラジオボタンが2箇所あり、それぞれ選択後「送信」ボタンを押して次のページへ行くのですが、ボタンの情報をファイルに書き込みたいのですがうまくいきません。 プログラムは、 print startform( -method => 'POST', -action => 'menu.cgi', ); print blockquote( radio_group( -name => 'A', -values => [ '1', '2', '3', '4', '5' ], -default => '1', -linebreak => 'true', ) ); print hr; print blockquote( radio_group( -name => 'B', -values => [ 'a', 'b', 'c', 'd', 'e', 'f','g', 'h' ], -default => 'a', -linebreak => '', ) ); print hr; print br; print submit( -value => '送信', ); print reset; print hidden( -name => 'type', -value => '', ); print end_form; print end_html; #----------------------------------------- open ( NEW, '> data.txt' ) or die "$!\n"; print NEW "$gakka, $gakunen, $type"; close ( NEW ); ・・・という感じです。途中の『hidden』は次のページで必要なものです。 このままやると、『data.txt』は作られるのですが、 , , という内容になってしまいます。  初歩的なこととは思いますが、いろいろ試しても出来ませんでした。よろしくお願いします。

    • ベストアンサー
    • Perl
  • セレクト表示方法について

    DBのトップ画面で選択画面の表示項目を1つだけ表示表示して矢印で開けるようにしたいのですが書き換え方がわかりません。 一応、表示部分の↓に書いて見ました sub html { # 表示開始 &header; print <<"EOM"; <table bgcolor="#B5B5B5" cellpadding=4 cellspacing=0 border=0 width="45"> <tr><td align="center"> <A HREF="$homepage" STYLE="text-decoration:none;color:black">戻る</A> </td></tr> </table> <center> <hr width="400" noshade> <font color="$t_color" size="$t_size" face="$t_face"><b>$title</b></font> <hr width="400" noshade> <P> <table><tr><td> $TopMessage </td></tr></table> <form method="POST" action="$script"> <input type=hidden name=mode value="search"> <table border=0 cellpadding=15><tr> EOM # 配列1 $size1 = @part1 + 1; print "<td valign=top><font color=\"$t_color\">■</font> <B>テス</B><br>\n"; print"<select name=P1 size=\"$size1\">\n"; print "<option value=\"99\" selected>指定なし\n"; foreach (0 .. $#part1) { print"<option value=\"$_\">$part1[$_]\n"; } print "</select></td>\n"; print "</tr></table>\n"; print "<font color=\"$t_color\">■</font> <b>キーワード</b> (任意)<br>\n";

    • 締切済み
    • CGI
  • 返信記事付きログファイルの表示

    以下のような掲示板のログファイルがあります。 2<>2への返信記事2つ目<><> 1<>1への返信記事4つ目<><> 1<>1への返信記事3つ目<><> 2<>2への返信記事<><> 1<>1への返信記事2つ目<><> 1<>1への返信記事<><> 2<>親記事<>2.jpg<> 1<>親記事<>1.jpg<> 親記事もレス記事も同じログファイルに下から投稿順に記録されていきます。 親記事には必ず画像が付きます。 これを表示するだけの、ごく単純なCGIを作っているのですが、親記事も返信記事も独立して表示されてしまいます。 #!/usr/local/bin/perl require './jcode.pl'; $log = "./log.txt"; $title = 'test'; print "Content-type: text/html; charset=euc-jp\n\n"; print <<EOM; <html> <head> <title>$title</title> </head> <body> EOM open(OUT,"$log"); @DATA = <OUT>; close(OUT); foreach(@DATA){ ($num,$body,$img) = split(/<>/,$_); if($img ne ""){ $img = "<p><img src=\"$img\"></p>"; } print <<EOM; <h1>$num</h1> <p>$body</p> $img <p>$res</p><hr> EOM } どうすれば親記事番号と返信記事番号を関連付けて、$bodyを$resに出来るのでしょうか?

    • ベストアンサー
    • Perl
  • ブラウザの種類によって、処理を分岐。

    ブラウザの種類によって、処理を分岐。 以下のような感じで、ブラウザの種類(SAFARI、OPERA、FIREFOX、EXPLORERなど)によって、 perlの処理を分けたいのですが、やり方がわかりません。 (もちろん、以下は、正常に動作しません。) //↓=========================================== <script language="JavaScript"> <!-- window.onload = function(){ str = navigator.appName.toUpperCase(); if (str.indexOf("SAFARI") >= 0) browser_Name = "SAFARI"; if (str.indexOf("NETSCAPE") >= 0) browser_Name = "NETSCAPE"; if (str.indexOf("OPERA") >= 0) browser_Name = "OPERA"; if (str.indexOf("FIREFOX") >= 0) browser_Name = "FIREFOX"; if (str.indexOf("EXPLORER") >= 0) browser_Name = "EXPLORER"; if (str.indexOf("MICROSOFT") >= 0) browser_Name = "EXPLORER"; if (browser_Name == "SAFARI"){ EOM $a="1"; print <<EOM; } if (browser_Name == "NETSCAPE"){ EOM $a="10"; print <<EOM; }  : } // --> </script> //↑=========================================== どうかご教授願います。よろしくお願いします。

    • ベストアンサー
    • Perl
  • フォントや文字サイズを変えるタグを教えて下さい

    「AmigoNewsBoard」というCGIを設置したんですが、タイトルや本文などのフォントが明朝体になっていて文字サイズもちょっと小さいので変更したいんですが、どこをいじれば良いか分かりますか? # =====================記事デザイン設定======================== ########################### # 記事1件分のデザイン # ########################### sub _Html_List{ print <<EOM; <TABLE width="100%" cellPadding=0 cellSpacing=0> <TR><TD class="Title">&nbsp;<FONT class="List">■</FONT>$VD[$REC{Title}]</TD></TR> <TR><TD class="Status">&nbsp;No: $VD[$REC{DataNum}] /&nbsp;Genre: $GENRE{$VD[$REC{Genre}]}[0]&nbsp;/&nbsp;Date: $VD[$REC{Rtime}]</TD></TR></TABLE><BR> <BLOCKQUOTE class="Comment">$VD[$REC{Comment}]<BR><BR><A href="$VD[$REC{Url}]">$VD[$REC{Url}]</A></BLOCKQUOTE> EOM } ##################################### # 記事1件分のデザイン(検索結果) # ##################################### sub _Html_Search{ print <<EOM; <TABLE width="100%" cellPadding=0 cellSpacing=0> <TR><TD class="Title">&nbsp;<FONT class="List">■</FONT>$VD[$REC{Title}]</TD></TR> <TR><TD class="Status">&nbsp;No: $VD[$REC{DataNum}] /&nbsp;Genre: $GENRE{$VD[$REC{Genre}]}[0]&nbsp;/&nbsp;Date: $VD[$REC{Rtime}]</TD></TR></TABLE><BR> <BLOCKQUOTE class="Comment">$VD[$REC{Comment}]<BR><BR><A href="$VD[$REC{Url}]">$VD[$REC{Url}]</A></BLOCKQUOTE> EOM } ======================================================= 《注意書き》 HTMLエディタ等で簡単にデザインが変更できますが、以下の点には注意して下さい。 1)下記4種の行は改変したり、行中にスペースや余分な文字を入れないようにして下さい。 ※HTMLエディタによっては自動構文エラー修正等により自動的に改変される場合がある為注意が必要です。その場合は下記4行を最初にテキストエディタ等でコメント行等に置き換えて編集終了後に再び元に戻して下さい。 print <<"<!---HTML--->"; &_*****; <!---HTML---> 1; 2) $***形式の部分はスクリプトが適切な文字列に置き換えるので削除/改変しないで下さい。 3) Tabスペース・全角スペースを使用せず、半角スペースを使用して下さい。 4) @という文字を入れる場合は\@として下さい。 5) 文字化けする場合は文字化けが始まった文字の後ろに\をつけて下さい。

    • ベストアンサー
    • CGI

専門家に質問してみよう