perl memo
#! /usr/bin/perl # スクリプトの先頭行
use strict; # 厳しい文法モード
require './cgi-lib.pl'; # 外部ファイル展開
1; # requireされるファイルの最終行
exit 0; # プログラム終了
$num = 1; # 変数に数値代入
$str = 'ABCDEFG'; # 変数に文字列代入
$str = "num = $num"; # 変数に文字列代入(変数展開有り)
$hash{'key'} = $value; # ハッシュ変数に代入
%hash = (); # ハッシュ変数初期化
$arry[0] = $value; # 配列に代入
$i++; # 数値インクリメント
$i--; # 数値デクリメント
$ARGV[0] # 引数の1個目
$str =~ s/befor/after/eg; # 文字列置換
$count = $string =~ s/poipoi/poipoi/g; # 文字列出現回数カウント
$str = sprintf("%-s\n", $var); # 書式付き代入
$str = "AAA" . $var . "BBB"; # 文字列連結
$cnt1 = substr $cntstr,0,1; # 文字列切り出し
($ip, $daytime) = split(/\t/, $rec); # 文字列分割
@arry = split(/[,\t]/, $body); # 文字列分割
@arry = split(/[,\t]/, $body, 10); # 文字列分割(MAX 10)
$val =~ tr/+/ /; # urlデコード
$val =~ s/%([0-9a-zA-Z][0-9a-zA-Z])/pack("C",hex($1))/eg; # urlデコード
print "string \n"; # プリント文
open(FH, ">/tmp/junk.txt"); # ファイルオープン(出力)
open(FH, ">>/tmp/junk.txt"); # ファイルオープン(追加)
print FH $rec; # ファイル出力
printf FH "%-s\n", $rec; # 書式付きファイル出力
close(FH); # ファイルクローズ
open(FH, "</tmp/junk.txt"); # ファイルオープン(入力)
$rec = <FH>; # 1行入力
chop $rec; # 行末1文字削除
close(FH); # ファイルクローズ
rmdir("/tmp/junk"); # ディレクトリ削除
umask "0002"; # umask設定
chmod(0640, "/tmp/junk.txt"); # ファイルパーミッション設定
unlink("/tmp/junk.txt"); # ファイル削除
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'}); # 指定バイト入力
if ($str1 eq $str2){ # if文(文字列比較)
if ($str1 ne $str2){ # if文(文字列比較)
if ($str1 ge $str2){ # if文(文字列比較)
if ($str1 le $str2){ # if文(文字列比較)
if ($str1 gt $str2){ # if文(文字列比較)
if ($str1 lt $str2){ # if文(文字列比較)
if ($num1 == $num2){ # if文(数値比較)
if ($num1 != $num2){ # if文(数値比較)
if ($num1 >= $num2){ # if文(数値比較)
if ($num1 <= $num2){ # if文(数値比較)
if ($num1 > $num2){ # if文(数値比較)
if ($num1 < $num2){ # if文(数値比較)
if ($msg =~ /re/ && ... ){ # if文(正規表現 かつ)
if ($msg =~ /re/ || ... ){ # if文(正規表現 または)
}elsif ( ... ){ # if文
}else{ # if文
} # if文
while (mkdir("$Datdir/$Lockdir", 0700) == 0){ # while文(mkdir失敗する間)
while ($rec = <FH>){ # while文(EOFまで)
while ( ... ){ # while文
last; # ループ抜ける
} # while文
for ($i = 1; $i <= 10; $i++){ # for文
} # for文
foreach $i (@arry){ # foreach文(配列要素分)
foreach $key (sort keys(%input)) { # foreach文(ハッシュキー分昇順)
} # foreach文
$brws = $ENV{'HTTP_USER_AGENT'}; # 環境変数取得
$result = `cat /tmp/foo.txt`; # コマンド実行結果取り込み
$foo = &func_foo($arg1,$arg2); # 関数呼び出し
sub func_foo { # 関数
my ($arg1,$arg2) = @_; # 関数
my ($local1,$local2); # 関数
} # 関数
sleep (1); # sleep秒
system("$Cmd"); # コマンド実行
($sec,$min,$hour,$day,$month,$year,$wday,$yday,$isdst) = localtime(time); # 時刻取得
use NKF; # nkfモジュール
$input = nkf('-e', $str); # nkf euc変換
$input = nkf('-s', $str); # nkf sjis変換
use Net::FTP; # ftp利用
$ftp = Net::FTP->new('ftp.server.org', Debug => 1, Passive => 1);
$ftp->login('account','password');
$ftp->binary;
$ftp->cwd('dir');
$ftp->put('source_file', 'dest_file');
$ftp->quit;
while (mkdir("/tmp/foo.LOCK", 0700) == 0){ # 排他制御
sleep (1);
#
open(FH_LOCK, "</tmp/foo.LOCK/lockfile");
$pid = <FH_LOCK>;
close(FH_LOCK);
#
if (kill(0, $pid) == 0){
unlink("/tmp/foo.LOCK/lockfile");
rmdir("/tmp/foo.LOCK");
}
}
open(FH_LOCK, ">/tmp/foo.LOCK/lockfile");
printf FH_LOCK $$;
close(FH_LOCK);
if (kill(0, $lock_pid) == 0){ # プロセス存在チェック
存在しない
}else{
存在する
}
[更新]
[戻る]
m-ito@myh.no-ip.org