2008年8月9日土曜日

perl tips

(誤)my (@numbers,$x,$y) = @_;
(正)my ($x,$y,@numbers) = @_;
@number配列は全ての@_(サブルーチン引数)を食べ尽くしてしまう。

【配列要素を数値の小さい順にソート】
my @sorted = sort { $a <=> $b } @array;

【配列空判定】
if(@array){print "空ではない\n";}

$< プロセスの実ユーザーID
$> プロセスの実効ユーザーID
$( プロセスの実グループID
$) プロセスの実効グループID

【タイムゾーンオフセット】
#!/usr/bin/perl
use Time::Local;
my $now = time();
my $off = (timegm(localtime($now))-timegm(gmtime($now)));
print "$off\n";
(文字列)
use POSIX 'strftime';
my $itemTimezoneStr = strftime "%Z", localtime;

【パーミッション】
chmod 0644, $targetFilePath;

【配列重複要素削除】
# array -> hash (Delete Repetition)
my %uniq_num;
foreach (@number) { $uniq_num{$_} = 1; }

# hash -> array
my @uniqarray_num = keys(%uniq_num);
print "uniqarray_num = @uniqarray_num\n" if($debug);

【配列操作】(いろいろできそう)
use List::Util; #配列操作ユーティリティクラス



0 件のコメント:

コメントを投稿