質問編集履歴

1

わかりずらいご指摘があったので、大幅にかきなおしました。

2017/07/10 10:52

投稿

charmee2928
charmee2928

スコア17

test CHANGED
@@ -1 +1 @@
1
- [Perl]の削除スクリプトの動作教えて下さい。
1
+ [Perl]既存メールアドレス管理/削除スクリプトをID名管理/削除に使たいです
test CHANGED
@@ -1,52 +1,58 @@
1
- Perlを勉強中です。
1
+ 既存のcgiをつかってPerlを勉強中です。
2
2
 
3
3
 
4
4
 
5
- 以下の部分で該当IDを削除るようなのですが、
5
+ ◾ 前提・実現こと
6
6
 
7
- (1)$mldata{'ml_'.$f_id[$i]} = $i;は実際どのような動きをしていのでしょうか?手前のスクリプトをみても'ml_'とのがここで急にでてきていて動きがよくよめません。
7
+ 既存にあメールアドレごとにグループ管理/削除するスクリプトを、メールアドレスではなくID名で実装したいのですうまく動きません。
8
8
 
9
9
 
10
10
 
11
- また、バグがありまして
11
+ ◾発生している問題
12
12
 
13
- (2)半角空白あるID名削除できない原因は、どこを見ていけばわかるのかさっぱり見当がつきせん
13
+ スクリプトで削除やグループ変更を実行すると、空白あるID名だけが削除/変更共に失敗し
14
14
 
15
15
 
16
16
 
17
- 情報不足ばそれもどなたかヒントいただければ助かります...。
17
+ ◾問題発生するまの流・手順
18
18
 
19
- 質問仕方が初心者ずくめで申訳ないです
19
+ 1.スクリプト内「入力チェック」部分にあった以下(メールアドレス正規表現チェック)を省きま
20
+
21
+ if($in{$p_batch} !~ /^$mail_regex$/o){
22
+
23
+ $err = 5;
24
+
25
+ &err;
26
+
27
+ }
20
28
 
21
29
 
22
30
 
23
- スクリプト該当部分-------------------------------------------------
31
+ 2.friends_sjis.datのメアドをID名(ひらがな漢字英数字空白含む)に変えました。
24
32
 
25
33
 
26
34
 
27
- my %mldata = (); #ID情報を格納
35
+ ◾ソースコード
28
36
 
29
- for(my $i=0;$i<$id_cnt;$i++){
30
-
31
- $mldata{'ml_'.$f_id[$i]} = $i;
37
+ http://luvly.biz/Sample.txt
32
-
33
- }
34
-
35
- print "ID名を削除しました\n";
36
38
 
37
39
 
38
40
 
39
- -----------------------------------------------------------------
41
+ ※上記はサンプルです。$f_mailなどの変数名は$f_idなどには変えずそのままになっています。copyrightなどのかかるhtml部分は添削してあります。
40
42
 
41
43
 
42
44
 
43
- $f_idがあるdatファイルの中身(××はFirstNameです)-------------------
44
45
 
45
- Saito ××
46
46
 
47
- Yamada ××
47
+ ◾$f_mailがあるfriends_sjis.datの中身(××はFirstNameです。ID名部分は元はメアドで稼働されていた箇所です)
48
48
 
49
+ -------------------------------
50
+
51
+ Saito ××,1,,,,,,,,,,,,
52
+
53
+ Yamada ××,,,1,,,,,,,,,,
54
+
49
- Kuroki ××
55
+ Kuroki ××,1,,,,,,,,,,,,
50
56
 
51
57
 
52
58
 
@@ -54,4 +60,10 @@
54
60
 
55
61
  ・続く
56
62
 
57
- ---------------------------------------------------------------
63
+ ------------------------------
64
+
65
+
66
+
67
+ ◾ 問題の発生した環境
68
+
69
+ Perl