2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Perlでよく使うモノを並べてみよう

1 :nobodyさん:02/12/26 10:59 ID:7gPWZ3Cy
例)CGIデコード

# 環境変数取得
if ($ENV{'REQUEST_METHOD'} eq "POST"){
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
} else {
$query = $ENV{'QUERY_STRING'};
}

# デコード
@args = split(/&/, $query);
foreach $i (@args) {
($name, $val) = split(/=/, $i);
$val =~ tr/+/ /;
$val =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack('C', hex($1))/eg;
$cgi{$name} = $val;
}


こんな感じでよく使うものを出していきましょう。

2 :nobodyさん:02/12/26 11:06 ID:???
             立
         初  て
         め  て
         て  み
      駄  わ  て
      ス.  か
      レ   る
      か
   圖  な


  Λ_Λ
 ( ´∀`)
 (    )


3 :nobodyさん:02/12/26 11:19 ID:DQIeVDZ8
質問です。
ただCGIでHTMLを読み込んで表示させたいのですがどうすればよいでつか?
本当にただindex.htmを外から読み込んでそのまま表示させるだけです。

4 :nobodyさん:02/12/26 11:54 ID:???
>>3

$_ = `cat ./mona.html`;
print "$_";
exit;

5 :nobodyさん:02/12/26 14:17 ID:???
使うもの?

ああ、秀丸。

6 :nobodyさん:02/12/26 14:32 ID:???
俺はパソコンをよく使うよ。

7 :nobodyさん:02/12/26 15:52 ID:ODLR2vri
>>1のは、use strict;のときちゃんと動かないし、修正。
my $query;
if ($ENV{REQUEST_METHOD} eq "POST"){
 read(STDIN, $query, $ENV{CONTENT_LENGTH});
} else {
 $query = $ENV{QUERY_STRING};
}

my @args = split(/&/, $query);
my %cgi; #良くないかも。use var ...
foreach (@args) {
 my ($name, $val) = split(/=/);
 $val =~ tr/+/ /;
 $var =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;
 $cgi{$name} = $val;
}

8 :nobodyさん:02/12/26 16:12 ID:???
use CGI;

9 :nobodyさん:02/12/26 16:33 ID:???
#!/usr/bin/perl

10 :nobodyさん:02/12/26 16:40 ID:???
perl -cw

11 :nobodyさん:02/12/26 17:55 ID:???
use strict;

12 :nobodyさん:02/12/26 18:32 ID:FAw+iTTP
exit;

13 :nobodyさん:02/12/26 19:13 ID:ySTy6JdW
# コメント(糞スレ)

14 :nobodyさん:02/12/26 19:32 ID:ODLR2vri
my %param = @_;

15 :nobodyさん:02/12/26 19:36 ID:???
1 ? 1 : 0

16 :nobodyさん:02/12/26 19:38 ID:???
%tmp;
@tmp{@label} = split(/<>/, $line);
return \%tmp;

17 :nobodyさん:02/12/26 19:41 ID:???
$line =~ s/\x0D?\x0A?$//;

18 :nobodyさん:02/12/26 19:42 ID:???
while (defined(my $line = <IN>)) {

19 :nobodyさん:02/12/26 19:45 ID:???
>>16
my %tmp;で、、サブルーチンとかにして使う・・

20 :nobodyさん:02/12/26 19:50 ID:???
>>15
本当によく使うのかと(略)

21 :名無し:02/12/26 20:02 ID:???
use File::Find;
しかし、遅いよね。
便利だけど。

22 :Jack ◆JkImxxVPHA :02/12/26 20:31 ID:7gPWZ3Cy
sub tag_to_tex {
$_[0] =~ s/&/&/g;
$_[0] =~ s/\"/"/g;
$_[0] =~ s/>/>/g;
$_[0] =~ s/</</g;
$_[0] =~ s/\n/<BR>/g;
return ($_[0]);
}

タグを文字に。


23 :nobodyさん:02/12/26 20:41 ID:???
"はエスケープしなくてもいい

24 :nobodyさん:02/12/26 20:43 ID:???
until (0) { redo } continue { next }

25 :nobodyさん:02/12/26 21:54 ID:???
>>23
ふぅん、普通にエラーが出るが。
君は局所に注目しすぎる癖があるね。

26 :nobodyさん:02/12/26 22:36 ID:ODLR2vri
>>25
正規表現中でのダブルクオートには何も意味がない。から、エスケープする必要はない。

$a = '"' と同じような考え方。

27 :nobodyさん:02/12/26 23:41 ID:???
use CGI::Carp 'fatalsToBrowser';
use Data::Dumper;

28 :nobodyさん:02/12/27 05:49 ID:+69413BS
require 'jcode.pl';


29 :山崎渉:03/01/15 13:40 ID:???
(^^)

5 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)