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

質問編集履歴

1

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

2017/07/10 10:52

投稿

charmee2928
charmee2928

スコア17

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