#!/usr/bin/perl # #----------------------------------------------------------------------- #《 単一列スキン用 》 #自動更新型 大・中規模アフィリエイトサイト作成エンジン(楽天版) # 中山正男 # 作成:2006年04月20日 ##------------------------------------------------------------------------ use LWP::Simple; use Unicode::Japanese; $s = new Unicode::Japanese; use CGI qw/:standard/; use CGI::Carp 'fatalsToBrowser'; $CGI::POST_MAX=1024 * 100; # max 100K posts $CGI::DISABLE_UPLOADS = 1; # no uploads use LWP::UserAgent; use HTTP::Request; #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ my @w_html = (); my $work1 = ""; my $work2 = ""; my $work5 = ""; my @w_html1 = (); my @w_html2 = (); my $image = ""; my $link = ""; my $product = ""; my $price = ""; my $shop = ""; my $shopnm = ""; my $totalpage = ""; my $totaln = ""; my $tax = ""; my $subdomeinurl = "http://bonsai.forestshop.net"; my $dir = "bonsai.forestshop.net"; my $l = ""; my $ll = ""; #------------------------------------------------------------------------------- # 初期設定ファイル読み込み my $init_idx = 0; my @init_data = (); open (IN, "./../init.env"); while(){ my $line = $_; chop($line); $init_data [$init_idx] = $line; $init_idx = $init_idx + 1; } my %init = ($init_data[0], $init_data[1], $init_data[2], $init_data[3], $init_data[4], $init_data[5], $init_data[6], $init_data[7], $init_data[8], $init_data[9], $init_data[10], $init_data[11], $init_data[12], $init_data[13], $init_data[14], $init_data[15], $init_data[16], $init_data[17], $init_data[18], $init_data[19], $init_data[20], $init_data[21], $init_data[22], $init_data[23], $init_data[24], $init_data[25], $init_data[26], $init_data[27], $init_data[28], $init_data[29], $init_data[30], $init_data[31], $init_data[32], $init_data[33]); close(IN); my $user_id = $init{"*user_id"};#A8商品リンクID my $user_id2 = $init{"*user_id2"};#A8画像リンクID my $rakuten = $init{"*rakuten"}; my $sitename = $init{"*sitename"}; my $koukoku = $init{"*koukoku"}; my $maxcate = $init{"*maxcate"}; my $catemn = $init{"*catemn"}; my $catetn = $init{"*catetn"}; my $cssname = $init{"*cssname"}; my $csskbn = $init{"*csskbn"}; my $engnurl = $init{"*engnurl"}; my $skinocr = $init{"*skinocr"}; my $minkakaku = $init{"*minkakaku"}; my $maxkakaku = $init{"*maxkakaku"}; my $sitepolicy = $init{"*sitepolicy"}; my $kword = $init{"*skey"}; my $jword = $init{"*jkey"}; $sword = $kword; $sword =~ s/([^\w ])/"%" . unpack("H2", $1)/eg; $sword =~ tr/ /+/; $jjword = $jword; $jjword =~ s/([^\w ])/"%" . unpack("H2", $1)/eg; $jjword =~ tr/ /+/; $jjjword = $jjword; $jjjword =~ tr/a-z/A-Z/; #-------------------------------------------------------- #問い合わせオブジェク作成 my $q = new CGI; #-------------------------------------------------------- #POSTデータ取得 my $page = $q->param('page'); my $cateban = $q->param('cate'); my $value = $q->param('value'); my $catebanurl = $cateban; my $rankquery = $cateban; #------------------------------------------------------------------------------- my @html_temp = (); my $page_link = ""; my $html_data = ""; my $taisyogai = "0"; my $ctg_file = ""; my $ctg_idx = 0; my @ctg_hd = (); my @ctg_bd = (); my $data = ""; my $color_flg = ""; my $itemerror = "この商品の詳しい説明は、詳細ページをご覧下さい。"; my @html_temp = (); #------------------------------------------------------------------------------- # クエリURLのセット $url = "http://ecustom.listing.rakuten.co.jp/rms/sd/ecustom/mall" ."?aid=".$user_id ."&g=".$cateban ."&v=2" ."&s=".$value ."&sub=1" ."&min=".$minkakaku ."&max=".$maxkakaku ."&f=A" ."&sw=".$sword ."&nw=".$jjword ."&p=".$page; #?cl= #&nm= #&bk= #&hd= #&aid=楽天ID #&sg= #&g=カテゴリ番号 #&v=写真付き一覧2 | 写真なし一覧1 | ウィンドウショッピング3 #&p=ページ数 #&s=価格が安い2 | 価格が高い1 | 新着順5 #&sub=すべて0 | 買い物可能1 | 共同購入2 | スーパーオークション3 #&min=価格指定 #&max= #&f=Aをすべて含む Oのいずれかを含む #&sf=1商品名、商品番号で探す #&sw=検索文字 #&nw=除外文字 #-------------------------------------------------------- #クエリ送信・データ取得 my $content = get $url; #-------------------------------------------------------- # 大きく分割 @w_html = split(/<\!--ページ送り-->/,$content); #-------------------------------------------------------- # 総件数以降を疎開 $work = $w_html[1]; @w_html1 = (); @w_html1 = split(//,$work); @w_html1 = split(/ \(全/,$w_html1[1]); $firstpage = $w_html1[0]; #-------------------------------------------------------- # 全件数取得その1 $work = $w_html[1]; @w_html = (); @w_html = split(/\(全 /,$work); #-------------------------------------------------------- # 全件数取得その2 $work = $w_html[1]; @w_html = (); @w_html = split(/件\) /,$work); $totaln = ""; $totaln = $w_html[0]; #-------------------------------------------------------- # ページ数算出 $totaln =~ s/,//g; if ($totaln == 30){ $totalpage = 1; } elsif ($totaln == 0) { $totaln = 0; $totalpage = 0; } elsif ($totaln % 30 == 0) { $totalpage = int($totaln / 30); } else { $totalpage = int($totaln / 30 + 1); } #-------------------------------------------------------- # 大きく分割 @html = split(/<\!-- begin -->/,$content); @html = split(/<\!-- end -->/,$html[1]); #-------------------------------------------------------- # カテゴリ番号へ分割 @html1 = split(/=&g=/,$html[0]); #@html1 = (); #-------------------------------------------------------- # カテゴリ名へ分割 @html2 = split(/nw=$jjjword\">/,$html[0]); #-------------------------------------------------------- # 件数へ分割 @html5 = split(/<\/a>/,$html[0]); #-------------------------------------------------------- # カテゴリタイトルへ分割 @html7 = split(/down.gif/,$html[0]); @html7 = split(/\">/,$html7[1]); @html7 = split(/<\/font>/,$html7[3]); my $catetitle = $html7[0]; my $values = ""; my $narabi = ""; $values .= "
"; if ($value eq "2") { $values .= "価格が安い | "; $narabi = "価格が安い順"; }else { $values .= "価格が安い | "; }#$subdomeinurl/kt$catebanurl/value2/index1.html $engnurl/$dir/index.cgi?cate=$catebanurl&value=2&page=1 if ($value eq "1") { $values .= "価格が高い | "; $narabi = "価格が高い順"; }else { $values .= "価格が高い | "; }#$subdomeinurl/kt$catebanurl/value1/index1.html $engnurl/$dir/index.cgi?cate=$catebanurl&value=1&page=1 if ($value eq "5") { $values .= "新着順"; $narabi = "新着順"; }else { $values .= "新着順"; }#$subdomeinurl/kt$catebanurl/value5/index1.html $engnurl/$dir/index.cgi?cate=$catebanurl&value=5&page=1 $values .= "
"; &category; # ==================================== # HTMLテンプレートファイル読み込み $html_data = ""; open (IN, "./../html.dat"); while(){ my $line = $_; # chop($line); $html_data .= $line; } close(IN); #-------------------------------------------------------- sub category { $cate_bd .= "
    "; if ($cateban == "0") { $i = 1; }else { $i = 2; } for ($j = $i ; $j < $#html1 + 1 ; $j++ ){ &cate_ban; #if ($catename =~ /その他/) { # next; #} if ($kensuu =~ /⇒/) { next; } $cate_bd .= "
  • $catename$kensuu
  • "; }#$engnurl/$dir/index.cgi?cate=$cateban&value=$value&page=1 $subdomeinurl/kt$cateban/value$value/index1.html $cate_bd .= "
"; if ($#html1 == "1") { $cate_bd = ""; } } #-------------------------------------------------------- # ナビゲーションセット $j = 1; &cate_ban; $navi .= "  FOREST SHOPトップへ
"; if ($catename eq "花・ガーデン・DIY") { $navi .= "  植木・盆栽・果樹トップへ
"; }else { $navi .= "  植木・盆栽・果樹トップへ
  $catename"; }#$subdomeinurl/kt$cateban/value$value/index1.html $engnurl/$dir/index.cgi?cate=$cateban&value=$value&page=1 if ($catetitle eq "花・ガーデン・DIY") { $form = <<"EOL";
 価格  円〜  円
EOL }else { &search; } #-------------------------------------------------------- $html_data =~ s/@PTITLE/$catename $catetitle/g; $html_data =~ s/@KTITLE/$kword $catename $catetitle/g; $html_data =~ s/@SUBTITLE/$catetitle/g; #-------------------------------------------------------- # スキンデータ読み込み my $g_skin=""; open (IN, "./../skin/skin.dat"); while(){ my $line = $_; chop($line); $g_skin .= $line; } close(IN); #-------------------------------------------------------- #ページリンク用キーワードエンコード(検索ワード) my $strk = $env{"*skey"}; $strk =~ s/([^\w ])/"%" . unpack("H2", $1)/eg; $strk =~ tr/ /+/; #-------------------------------------------------------- #ページリンク用キーワードエンコード(除外ワード) my $strj = $env{"*jkey"}; $strj =~ s/([^\w ])/"%" . unpack("H2", $1)/eg; $strj =~ tr/ /+/; #-------------------------------------------------------- # 除外ワード分割 my @w_jword = split(/,/,$env{"*jkey"}); #----------------------------------------------------------------------------- #明細行分割ー>配列へストア @w_html = split(//,$content); $work = $w_html[1]; @w_html = (); @w_html = split(//,$work); #----------------------------------------------------------------------------- #検索結果 30件/1ページ表示 my $l_skin_all = ""; for ($j = 0 ; $j < $#w_html ; $j++ ){ #明細毎に個別データ取得 &pmeisai; $imagel = $image; $imagel =~ s/img64/img128/g; $imagel =~ s/ex=64x64/ex=128x128/g; my $l_skin = $g_skin; #============================== # スキン編集 if($imagel =~ /item_none.gif/) { $image = "$engnurl/img/no-image2.gif"; $imagel = "$engnurl/img/no.gif"; } #A8商品IDリンク # $refurl = $rakuten # .$user_id # ."&a8ejpredirect=" # .$link; #A8画像IDリンク # $refurl2 = $rakuten # .$user_id2 # ."&a8ejpredirect=" # .$link; $refurl = $link; $tenpol = $rakuten .$user_id ."/?url=" .$shop; #$i = int ( rand ( 20 ) + 10); $l_skin =~ s/@ImageUrlSmall@/$image/g; $l_skin =~ s/@ImageUrlLarge@/$imagel/g; $l_skin =~ s/@Price@/$price/g; $l_skin =~ s/@ProductName@/$product/g; $l_skin =~ s/@tenpo@/$shopnm/g; $l_skin =~ s/@tenpol@/$tenpol/g; $l_skin =~ s/@refurl@/$refurl/g; # $l_skin =~ s/@refurl2@/$refurl2/g; $l_skin =~ s/@tax@/$tax/g; $l_skin =~ s/@ItemDetail@/$itemdetail/g; # $l_skin =~ s/@subdomain@/$i/g; $l_skin =~ s/@plink@/$link/g; $l_skin =~ s/@souryou@/$souryou/g; $l_skin =~ s/@card@/$card/g; $l_skin =~ s/@topurl@/$engnurl/g; $l_skin_all .= $l_skin; } if ($totaln == 0){ $l_skin_all = "
    $kword
    $catetitle
    の商品は、ありませんでした。
"; } #######検索結果 30件/1ページ表示 END ################ #-------------------------------------------------------- #全商品数/ページリンク作成・表示 my $pvar = 5; my $pvarw = 0; if ($page <= $pvar){ $pvarw = $pvar - $page + 1; } #$page_link .= "  [Top\]"; if (($page >= 11) || ($page >= 7)) { $page_link .= "・・・"; } for ($a = $page - $pvar; ($a <= $page + $pvar + $pvarw) && ($a <= $totalpage); $a++) { if ($a < 1){ next; } elsif ($a == $page) { $page_link .= ""; $page_link .= " ".$a." "; $page_link .= ""; } else { $page_link .= " ".$a." "; }#index.cgi?cate=$catebanurl&value=$value&page=$a } if ((($page + $pvar) < $totalpage) && (9 < $totalpage)) { $a = $a - $pvarw - $pvar; $page_link .= "・・・ [ 次へ ]"; } if ($page > 1) { $a = $page - 1; $page_link = " [ PageTop\ ] [ 前へ ] ".$page_link; } #$page_link .= "   [Next\] "; #============================== # ランキングクエリURLのセット if ($rankquery eq "100005") { $url2 = "http://event.rakuten.co.jp/ranking/flower/" }else { $url2 = "http://event.rakuten.co.jp/ranking/flower/" .$rankquery.".html"; } my $rankcontent = get $url2; #-------------------------------------------------------- # 大きく分割 @rank_html = split(/weekly -->/,$rankcontent); @rank_html = split(/\/weekly -->/,$rank_html[1]); #-------------------------------------------------------- # 商品・画像リンクへ分割 @rank_html1 = split(/alt=\"\" width=\"138\" height=\"1\">/,$rank_html[0]); #-------------------------------------------------------- # 店舗へ分割 @rank_html2 = split(/ショップ:
<\/a><\/font>
/,$rank_html[0]); #-------------------------------------------------------- # 更新日へ分割 @rank_html6 = split(/ttl_30items_w.gif/,$rank_html[0]); @rank_html6 = split(//,$rank_html6[1]); @rank_html6 = split(/<\/b>/,$rank_html6[1]); my $kousinbi = $rank_html6[0]; #-------------------------------------------------------- # ランキングマークへ分割 @rank_html7 = split(/bottom\" bgcolor=\"\#339900\">/,$rank_html[0]); #============================== # ランキングカテゴリ大きく分割 @rankcate = split(/ttl_menu_electronics.gif/,$content); @rankcate = split(/menu_line.gif/,$rankcate[1]); #-------------------------------------------------------- # ランキングカテゴリ番号へ分割 @rankcate1 = split(/size=\"-1\">
/,$rankcate[0]); #-------------------------------------------------------- # カテゴリタイトルへ分割 @rankcate3 = split(//,$rankcate[0]); @rankcate3 = split(/<\/b>/,$rankcate3[1]); my $ranktitle = $rankcate3[0]; #-------------------------------------------------------- #ランキング 10件表示 my $rank_all = ""; $rank_all .= "
\"\"
\"\"
    ジャンルランキング
\n"; for ($j = 1 ; $j <= 20 ; $j++ ){ &rankmeisai; $image = $imagel; $image =~ s/img128/img64/g; $image =~ s/ex=128x128/ex=64x64/g; $image =~ s/_128/_64/g; #============================== # スキン編集 if($imagel =~ /item_none.gif/) { $image = "$engnurl/img/no-image2.gif"; $imagel = "$engnurl/img/no2.gif"; } #A8商品IDリンク # $refurl = $rakuten # .$user_id # ."&a8ejpredirect=" # .$link; #A8画像IDリンク # $refurl2 = $rakuten # .$user_id2 # ."&a8ejpredirect=" # .$link; $tenpourl = $rakuten .$user_id ."/?url=" .$tenpo; $reviewl = $rakuten .$user_id ."/?url=" .$review; #$i = int ( rand ( 20 ) + 10); if ($j <= 10) { if ($j % 2 == 0) { $rank_all .= <<"EOM"; EOM }else { $rank_all .= <<"EOM"; EOM } if ($j < 4) { $rank_all .= <<"EOM"; EOM }else { $rank_all .= <<"EOM"; EOM } $rank_all .= <<"EOM"; EOM }else {#10位ここまで if ($j % 2 == 0) { $rank_all .= <<"EOM"; EOM }else { $rank_all .= <<"EOM"; EOM } $rank_all .= <<"EOM"; EOM } } $rank_all .= "
$catetitle

${j}位

${rankmark}

${j}位

$rankmark

${j}位

$rankmark
\n"; if ($link !~ "rakuten") { $rank_all = ""; } my $nakamacate = <<"EOL";

    その他のジャンル
EOL #-------------------------------------------------------- # 数値にカンマを挿入 $totaln = &put_comma($totaln); $totalpage = &put_comma($totalpage); #-------------------------------------------------------- # 総件数 セット $html_data =~ s/@TOTALCOUNT/$totaln/g; #-------------------------------------------------------- # 総ページ セット $html_data =~ s/@TOTALPAGE/$totalpage/g; #-------------------------------------------------------- # 総ページ セット $html_data =~ s/@FIRSTPAGE/$firstpage/g; #-------------------------------------------------------- # ページリンク セット $html_data =~ s/@PAGELINK/$page_link/g; #-------------------------------------------------------- # フォーム セット $html_data =~ s/@FORM/$form/g; #-------------------------------------------------------- # ショップ名称 セット $html_data =~ s/@TENPO/$shopnm/g; #-------------------------------------------------------- # ショップリンク セット $html_data =~ s/@SHOPL/$shopl/g; #-------------------------------------------------------- # ショップリンク2 セット $html_data =~ s/@HNBITEN/$hanbaiten/g; #-------------------------------------------------------- # サブドメイン セット $html_data =~ s/@SUBDOMAIN/$i/g; #-------------------------------------------------------- # サイドバー(カテゴリー名称 セット $html_data =~ s/@CATE_HD/$cate_hd/g; #-------------------------------------------------------- # サイドバー(アイテム名称 セット $html_data =~ s/@CATE_BD/$cate_bd/g; #-------------------------------------------------------- # サイドバー(アイテム名称(<li>タグ対応) セット $html_data =~ s/@CATE_LIBD/$cate_libd/g; #-------------------------------------------------------- # 商品検索結果一覧 挿入 $html_data =~ s/@SYOHIN/$l_skin_all/g; #-------------------------------------------------------- # 独自コンテンツ 挿入 $html_data =~ s/@KOUKOKU/$koukoku/g; #-------------------------------------------------------- # トップURL セット $html_data =~ s/@TOPURL/$engnurl/g; #-------------------------------------------------------- # ナビゲーション セット $html_data =~ s/@NAVI/$navi/g; #-------------------------------------------------------- # カテゴリタイトル セット $html_data =~ s/@CATETITLE/$catetitle/g; #-------------------------------------------------------- # 価格 セット $html_data =~ s/@VALUE/$values/g; #-------------------------------------------------------- # 価格並び順 セット $html_data =~ s/@NARABI/$narabi/g; #-------------------------------------------------------- # ランキング セット $html_data =~ s/@RANKING/$rank_all/g; #-------------------------------------------------------- # アクセス解析タグへページID 挿入 my $pid = "c".$cateban."p".$page; $html_data =~ s/@PID/$pid/g; #-------------------------------------------------------- # サイト名称 セット $html_data =~ s/@SITENAME/$sitename/g; #-------------------------------------------------------- # 仲間カテゴリ セット $html_data =~ s/@NAKAMA/$nakamacate/g; #-------------------------------------------------------- # サイト概要 セット $html_data =~ s/@SITEEXP/$siteexp/g; #-------------------------------------------------------- # サイトポリシー セット $html_data =~ s/@SITEPOLICY/$sitepolicy/g; #-------------------------------------------------------- # HTMLヘッダ出力 print "Content-type: text/html\n"; print "Charset: EUC-JP\n\n"; print "\n"; print "\n"; print "\n"; print "$kword $catename $catetitle $product Page.$page\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; #-------------------------------------------------------- # 編集済みHTML(or MAP)テンプレート画面出力。 print $html_data; print "\n"; close output; exit; #================================== # 明細情報取得 #  総件数、総ページ数 # $image 画像リンク # $link 商品リンク # $product 商品名称 # $tax 消費税・送料 # $price 商品価格 # $shop ショップリンク # $shopnm ショップ名称 # $itemdetail 商品説明 #================================== sub pmeisai{ # 商品リンク $work = $w_html[$j]; @w_html1 = split(/href=\"/,$work); @w_html2 = split(/\"/,$w_html1[1]); $word = $w_html2[0]; #substr($word, 0, 58) = ""; $link = $word; # 画像リンク $work = $w_html[$j]; @w_html1 = split(/src=\"/,$work); @w_html2 = split(/\"/,$w_html1[1]); $image = $w_html2[0]; $imagel = $image; $imagel =~ s/img64/img128/g; $imagel =~ s/ex=64x64/ex=128x128/g; # 商品名称 $work = $w_html[$j]; @w_html1 = split(//,$work); @w_html2 = split(/<\/font>/,$w_html1[1]); $product = $w_html2[0]; # 商品価格 $work = $w_html[$j]; @w_html1 = split(//,$work); @w_html2 = split(/ 円/,$w_html1[2]); $price = $w_html2[0]; # 消費税・送料 $work = $w_html[$j]; @w_html1 = split(/color=\"\#636363\">/,$work); @w_html2 = split(/<\/font>/,$w_html1[1]); $tax = $w_html2[0]; # 送料無料 if ($tax =~ /送料込/) { $souryou = "\"送料無料\""; }else { $souryou = ""; } $tax =~ s/税込、/(税込) /g; # ショップリンク $work = $w_html[$j]; @w_html1 = split(/href=\"/,$work); @w_html2 = split(/\"/,$w_html1[4]); $shop = $w_html2[0]; # ショップ名称 $work = $w_html[$j]; @w_html1 = split(/color=\"\#636363\">/,$work); @w_html2 = split(/<\/font>/,$w_html1[2]); $shopnm = $w_html2[0]; # 商品説明 $work = $w_html[$j]; @w_html1 = split(/color=\"\#636363\">/,$work); @w_html2 = split(/<\/font>/,$w_html1[3]); $itemdetail = $w_html2[0]; if ($itemdetail =~ /[a-zA-Z0-9\/]{84}/) { $itemdetail =~ s/.{70}/$&
\n/g; } if ($itemdetail =~ /\*{84}/) { $itemdetail =~ s/.{70}/$&
\n/g; } # カードOK $work = $w_html[$j]; if ($work =~ /カードOK/) { $card = "\"カードOK\""; }else { $card = ""; } } sub cate_ban { # カテゴリ番号 $work = $html1[$j]; @html4 = split(/&v=/,$work); $cateban = $html4[0]; # カテゴリ名 $work1 = $html2[$j]; @html3 = split(/<\/a>/,$work1); $catename = $html3[0]; $catename =~ s/\r//g; $catename =~ s/\n//g; # 件数 $work2 = $html5[$j]; @html6 = split(/<\/font>/,$work2); $kensuu = $html6[0]; $kensuu =~ s/\r//g; $kensuu =~ s/\n//g; } sub search { $form = <<"EOL";

$catetitle内で
花・ガーデン・DIY全体で
 価格  円〜  円
EOL } # 受け取った数値にカンマを挿入して返すサブルーチン sub put_comma { my $num = $_[0]; $num = reverse $num; $num =~ s/(\d{3})(?=\d)(?!\d*\.)/$1,/g; $num = reverse $num; return $num } sub rankmeisai { # 商品リンク $work = $rank_html1[$j]; @rankhtml = split(/<\/a><\/td>/,$rankhtml[1]); @rankhtml2 = split(/\">\"/,$rankhtml2[1]);/,$work1); @rankhtml8 = split(/<\/a>/,$rankhtml7[1]); $tenponame = $rankhtml8[0]; # 商品の感想文リンク $work2 = $rank_html3[$j]; @rankhtml9 = split(/&/,$work2); $review = $rankhtml9[0]; # ランキングマーク $work7 = $rank_html7[$j]; @rankhtml10 = split(/\" alt=/,$work7); $rankmark = $rankhtml10[0]; if ($rankmark =~ /icn_up.gif/) { $rankmark = "\"UP!\""; }elsif ($rankmark =~ /icn_down.gif/) { $rankmark = "\"DOWN!\""; }elsif ($rankmark =~ /icn_new.gif/) { $rankmark = "\"NEW!\""; }else { $rankmark = "\"SAME!\""; } # デジカメ商品リンク $work = $rank_html1[$j]; @rankhtml = split(/<\/a><\/td>/,$rankhtml[1]); @rankhtml13 = split(/\">\"/,$rankhtml13[1]);/,$work3); $dezidetail = $rankhtml17[0]; $dezidetail =~ s/
//g; } sub rankcateban { # クエリURL $rankwork = $rankcate1[$j]; @rank = split(/.html\">/,$rankwork); @rank = split(/electronics\//,$rank[0]); $rankquery = $rank[1]; # カテゴリ名 $rankwork1 = $rankcate2[$j]; @rank1 = split(/<\/a>/,$rankwork1); $rankname = $rank1[0]; }