Today: Yesterday: Total: Online:
カテゴリー
その他
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
RSSリーダーで購読する | この日記のはてなブックマーク数 | プロフィール
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)

[ カテゴリー » Perl(CGI) ]

カテゴリー » Perl(CGI) June 04, 2008

PerlでURLエンコードとデコード ID:1212570962


url encode
sub url_encode($) {
  my $str = shift;
  $str =~ s/([^\w ])/'%'.unpack('H2', $1)/eg;
  $str =~ tr/ /+/;
  return $str;
}


url decode
sub url_decode($) {
  my $str = shift;
  $str =~ tr/+/ /;
  $str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
  return $str;
}
http://sonic64.com/2003-08-31.html
1 / 2| 次のページ »

— posted by midilin @ 06:16PM

カテゴリー » Perl(CGI) April 15, 2008

正規表現:何回マッチしたかを指定 ID:1208234106


x? 0個または1個の x にマッチ
x* 0個以上の x にマッチ
x+ 1個以上の x にマッチ
x{m,n} m 個以上、n 個以下の x にマッチ


次のような使い方もある


{m} m 回の繰り返しにマッチ
{m,} m 回以上の繰り返しにマッチ
{m,n} m 回以上、n 回以下の繰り返しにマッチ


http://www.rfs.jp/sb/perl/02/09.html
1 / 2| 次のページ »

— posted by midilin @ 01:35PM

カテゴリー » Perl(CGI) November 27, 2007

Active Perlでパッケージをインストールする方法 ID:1196129290


ppmコマンドを使う。


例えば、
linuxやcygwinでパッケージをインストールする場合
(Net::FTPをインストールすると仮定:Net::FTPは libnetにある)


perl Makefile.PL
make
make install


とするが、


active perlなら


C:\> ppm
と打ち込むと、


PPM - Programmer's Package Manager version 3.1.
Copyright (c) 2001 ActiveState SRL. All Rights Reserved.

Entering interactive shell. Using Term::ReadLine::Stub as readline library.

Type 'help' to get started.

ppm>

のような画面になり、
search libnet


のように、search 〜にすると


ppm> search libnet
Searching in Active Repositories
1. Bundle-libnet [1.00] A bundle to install all libnet related modules
2. Bundle-libnet [1.00] A bundle to install all libnet related modules
3. libnet [1.13] Collection of Network protocol modules
ppm>


パッケージがあるかどうかを確認できる。

あれば

install libnet

と入力すればインストールできる。



http://tuka.s12.xrea.com/index.xcg?p=Perl
1 / 2| 次のページ »

— posted by midilin @ 11:08AM

カテゴリー » Perl(CGI) August 06, 2007

perlでループ文を強制終了 ID:1186364967


lastを使う。
C、javaのbreakに相当する
1 / 2| 次のページ »

— posted by midilin @ 10:49AM

カテゴリー » Perl(CGI) » PDF August 03, 2007

PerlでPDFを作成 ID:1186103592


http://www.linkclub.or.jp/~ma3ki/webutil/pdf/ringi/howtomake-pdf.html
1 / 2| 次のページ »

— posted by midilin @ 10:13AM

カテゴリー » Perl(CGI) » kakasi April 11, 2007

kakasi(Windows)のインストール ID:1176266493


NT系は環境変数のシステム環境変数の変数Pathを編集し、値にC:\kakasi\binを追加するとともに、新規で変数KANWADICTPATHとITAIJIDICTPATHを作成し、それぞれの値にC:\kakasi\share\kakasi\kanwadictとC:\kakasi\share\kakasi\itaijidictを記入。


http://www10.plala.or.jp/miyazawa/namazu/namazu.html
1 / 2| 次のページ »

— posted by midilin @ 01:41PM

カテゴリー » Perl(CGI) May 15, 2006

requireの決まりごと ID:1147656351


require で呼び出されるファイルは、最後に真を値として返さなければならない。そのため、確実に新が返されるときを除いて、最後の行に
1; を置く。
http://cocohome.hp.infoseek.co.jp/perl_ref/require.html
1 / 2| 次のページ »

— posted by midilin @ 10:25AM

カテゴリー » Perl(CGI) January 19, 2006

PerlでURLにアクセス(Webにアクセス) ID:1137661607


use LWP::Simple;
my $url = '●●●';
my $data_from_web = get($url);

http://allabout.co.jp/career/cgiperl/closeup/CU20050131A/index2.htm




use strict;
use Socket;
use FileHandle;

my ($proxy_host, $proxy_port, $http);
my ($con_host, $con_port);
my ($host, $port, $url, $path, $ip, $sockaddr);
my ($arg, $buf);

($arg) = @ARGV;

# HTTPプロトコルのバージョン
#$http = '1.1';

# プロキシサーバの設定
#$proxy_host = 'XXX.XXX.XXX.XXX';
#$proxy_port = 8080;

# デフォルトホストの設定
$host = 'localhost';
$port = getservbyname('http', 'tcp');
$path = '/';

# URL解析処理
$arg =~ m!(http:)?(//)?([^:/]*)?(:([0-9]+)?)?(/.*)?!;
if ($3) {$host = $3;}
if ($5) {$port = $5;}
if ($6) {$path = $6;}
#print "host=$host, port=$port, url=$url\n";

if ($proxy_host) {
  # プロキシサーバ経由
  $con_host = $proxy_host;
  $con_port = $proxy_port;
  $url = $arg;

} else {
  $con_host = $host;
  $con_port = $port;
  $url = $path;
}

# ソケットの生成
$ip = inet_aton($con_host) || die "host($con_host) not found.\n";
$sockaddr = pack_sockaddr_in($con_port, $ip);
socket(SOCKET, PF_INET, SOCK_STREAM, 0) || die "socket error.\n";

# ソケットの接続
connect(SOCKET, $sockaddr) || die "connect $con_host $con_port error.\n";
autoflush SOCKET (1);

# HTTP要求を送信
if ($http eq '1.1') {
  print SOCKET "GET $url HTTP/1.1\n";
  print SOCKET "Host: $host\n";
  print SOCKET "Connection: close\n\n";

} else {
  print SOCKET "GET $url HTTP/1.0\n\n";
}

# HTTP応答を受信
while (chomp($buf=)) {
  print "$buf\n";
}

# 終了処理
close(SOCKET);

http://ash.jp/perl/socket_http.htm

— posted by midilin @ 06:06PM

カテゴリー » Perl(CGI) November 07, 2005

Perlで配列の要素数を調べる ID:1131352627


@week

http://www.rfs.jp/sitebuilder/perl/02/04.html
1 / 2| 次のページ »

— posted by midilin @ 05:37PM

カテゴリー » Perl(CGI) November 07, 2005

PerlでURLエンコード ID:1131348150



$afterStr = url_encode($beforeStr);

↓

sub url_encode{
    my $str = shift;

    $str =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;    #ここでエンコード

    return($str);
}


http://www.ichikoro.com/webp/bk/00049.html
1 / 2| 次のページ »

— posted by midilin @ 04:22PM