Perlお触り途中経過。まだbashほどエロスは感じない。

2010年5月28日 スクリプト関連, 雑記

とりあえずPerlはここまでやった。
空の配列を作るところでかなり長いことハマってたけども、今日やっと事前に準備するものなんだって事に気が付いて何となく動くぞって程度にはなった感じ。クソ過ぎて涙が出るw
”インデックスを指定して代入!”ってやっただけじゃ配列用意してくれないのね。

一応このコードでgoo.glの短縮URLの取得まではできたので、作業記録も兼ねて置いとく。
テストコードとかそのまんまぺたり。

#!/usr/bin/perl

use strict;
use warnings;
use CGI;
use LWP::Simple;

my $q = new CGI;
my $Uname = $q->param(‘namae’);
my $Upss = $q->param(‘pswd’);
my $PushTEXT = $q->param(‘pushtext’);
#httpurlを抽出して配列に格納
my @http = $PushTEXT =~ /s?https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+/g;
#空の配列を準備
my @gglhttp = ();

print $q->header(-charset=>”utf-8″);

my $data = get “http://ggl-shortener.appspot.com/?url=$http[2]”;
$data =~ s/{“short_url”:”|”}//g;
for( my $i=0 ; $i <= $#http ; $i++ ){
    print $http[$i];
    $gglhttp[$i] = get “http://ggl-shortener.appspot.com/?url=$http[$i]”;
    $gglhttp[$i] =~ s/{“short_url”:”|”}//g;
}

print $q->start_html(-title=>”タイトル”, -BGCOLOR=>’#ffffff’),
    $q->strong(“処理完了!”),
    $q->p(“$Uname”),
    $q->p(“$Upss”),
    $q->p(“$PushTEXT”),
    $q->p(“@http”),
    $q->p(“$#http”),
    $q->p(“$data”),
    $q->p(“@gglhttp”),
    $q->br,
    $q->a({href=>”/”}, “back”),
    $q->br,
    $q->br,
    $q->end_html;
exit;

こんな感じのフォームから中身を投げます。

<form id=”form” action=”posttest.cgi” method=”post”>
    <p>お名前:<input type=”text” name=”namae” /></p>
    <p>PASS:<input type=”password” name=”pswd” /></p>
    <p>TEXT:<textarea name=”pushtext” rows=”4″ cols=”40″>テキストエリア</textarea></p>
    <p><input type=”submit” name=”submit” value=”送信” /></p>
</form>

コメントは受け付けていません。