スポンサーリンク

PerlのCGIにも試しに、モバイル用AdSenseを貼ってみました。
AdSenseからとりあえずコピペして動かしてみると、ブラウザの画面が真っ白に。
「なんでやろ」と思ってapacheのエラーログ(/var/log/httpd-error.log)を除いてみると

Global symbol "@color_array" requires explicit package name at hoge.cgi line 18.,

たくさん、Global symbolだ、とPerlの怒りの叫びがありました。

コードを見直してみると、myで宣言されていない変数がたくさんあるのに、use
strict してるソースに貼り付けてしまったので、エラーが出ました。

というわけで、こんなカンジで直すと動きます。
channelやclientは各自の値にしてください。

ソース

#!/usr/bin/env perl
use strict;

use LWP::UserAgent;
use Time::HiRes qw(gettimeofday);
use URI::Escape;

sub google_append_color {
  my @color_array = split(/,/, $_[0]);
  return $color_array[$_[1] % @color_array];
}

my $google_dt = sprintf("%.0f", 1000 * gettimeofday());
my $google_scheme = ($ENV{"HTTPS"} eq "on") ? "https://" : "http://";
my $google_host = uri_escape($google_scheme . $ENV{"HTTP_HOST"});

my $google_ad_url = "http://pagead2.googlesyndication.com/pagead/ads?" .
  "ad_type=text" .
  "&channel=あなたのチャンネル" .
  "&client=ca-mb-pub-あなたのコード" .
  "&color_border=" . google_append_color("555555", $google_dt) .
  "&color_bg=" . google_append_color("EEEEEE", $google_dt) .
  "&color_link=" . google_append_color("0000CC", $google_dt) .
  "&color_text=" . google_append_color("000000", $google_dt) .
  "&color_url=" . google_append_color("0000CC", $google_dt) .
  "&dt=" . $google_dt .
  "&format=mobile_single" .
  "&host=" . $google_host .
  "&ip=" . uri_escape($ENV{"REMOTE_ADDR"}) .
  "&markup=xhtml" .
  "&oe=sjis" .
  "&output=xhtml" .
  "&ref=" . uri_escape($ENV{"HTTP_REFERER"}) .
  "&url=" . $google_host . uri_escape($ENV{"REQUEST_URI"}) .
  "&useragent=" . uri_escape($ENV{"HTTP_USER_AGENT"});

my $ua = LWP::UserAgent->new;
my $google_ad_output = $ua->get($google_ad_url);
my $google_ad = '';
if ($google_ad_output->is_success) {
  print $google_ad_output->content;
}

Google AdSenseの申し込み



スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー