質問するログイン新規登録

質問編集履歴

2

追記

2019/01/27 04:20

投稿

yooashleaf
yooashleaf

スコア32

title CHANGED
File without changes
body CHANGED
@@ -46,18 +46,12 @@
46
46
  &ReadParse;
47
47
  while (($key,$val) = each %in) {
48
48
  if ($key !~ /^upfile/) {
49
-
50
- # シフトJISコード変換
51
49
  &jcode'convert(*val, 'sjis');
52
-
53
- # タグ処理
54
50
  $val =~ s/<>/&LT;&GT;/g;
55
51
  $val =~ s/&/&amp;/g;
56
52
  $val =~ s/"/&quot;/g;
57
53
  $val =~ s/</&lt;/g;
58
54
  $val =~ s/>/&gt;/g;
59
-
60
-
61
55
  }
62
56
  $in{$key} = $val;
63
57
  }

1

追記

2019/01/27 04:20

投稿

yooashleaf
yooashleaf

スコア32

title CHANGED
File without changes
body CHANGED
@@ -16,4 +16,49 @@
16
16
  FP
17
17
 
18
18
  となり、なぜか02が0と2で分割されてしまってます。
19
- これは何が原因として考えられるでしょうか?
19
+ これは何が原因として考えられるでしょうか?
20
+
21
+
22
+ 追記:
23
+ 確かにこのままコピペすると正常に動作します。
24
+ 実は$strはフォームのcheckboxで受け取った数字なのですが、その値を分割するとこうなります。
25
+ フォームの部分の受け取りがおかしいのでしょうか?
26
+
27
+ ▼HTML
28
+ <input type="checkbox" name="data" value="01">01
29
+ <input type="checkbox" name="data" value="02">02
30
+ <input type="checkbox" name="data" value="86">86
31
+ <input type="checkbox" name="data" value="FP">FP
32
+
33
+ ▼perl
34
+ &decode;
35
+ $str = $in{'data'};
36
+ @array = $str =~ /.{2}/g;
37
+
38
+ foreach (@array) {
39
+ print "$_<br>";
40
+ }
41
+
42
+
43
+ sub decode {
44
+ local($key,$val);
45
+
46
+ &ReadParse;
47
+ while (($key,$val) = each %in) {
48
+ if ($key !~ /^upfile/) {
49
+
50
+ # シフトJISコード変換
51
+ &jcode'convert(*val, 'sjis');
52
+
53
+ # タグ処理
54
+ $val =~ s/<>/&LT;&GT;/g;
55
+ $val =~ s/&/&amp;/g;
56
+ $val =~ s/"/&quot;/g;
57
+ $val =~ s/</&lt;/g;
58
+ $val =~ s/>/&gt;/g;
59
+
60
+
61
+ }
62
+ $in{$key} = $val;
63
+ }
64
+ }