重複した要素を外す 

2007年09月17日(月) 22時40分
my %count;
@list = grep(!$count{$_}++, @list);

# 複数のリストの内容をまとめて、さらにそこから重複をなくす場合
my %count;
@list = grep(!$count{$_}++, @list1, @list2);

CSVを指定した列でソート 

2007年09月17日(月) 22時39分
@list = (   "Apple,200,blue",
            "Orange,50,red",
            "Pineapple,50,black",
            "Grape,50,black",
            "Pear,500,green"
        );

@sorted = sort{ (split(/\,/,$a))[1] <=> (split(/\,/,$b))[1] ||
                (split(/\,/,$a))[2] cmp (split(/\,/,$b))[2] ||
                (split(/\,/,$a))[0] cmp (split(/\,/,$b))[0] } @list;

foreach $i (@sorted){
    print "$i\n";
}

フォルダ内のファイル列挙 

2007年09月17日(月) 22時37分
while(glob("*.pl")){
    print $_ . "\n";
}

文字列をカンマで区切る 

2007年09月17日(月) 22時33分
$str = "AAA,BBB,CCC";
@cols = split(/,/, $str);
foreach $col (@cols){
    print "$col\n";
}

文字列の長さを求める 

2007年09月17日(月) 22時31分
$str = "sample";
$len = length($str);
print "Len = $len\n";

半角文字を全角文字にする 

2007年09月17日(月) 22時30分
require "jcode.pl";

$from = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  . "0123456789!\"#\$\%&'()*+,./:;<=>?\@[\\]^_`{|}~-";
$to = "abcdefghijklmnopqrstuvwxyz"
  . "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  . "0123456789"
  . "!”#$%&’()*+,./:;<=>?@[¥]^_‘{|}〜−";

$str = "This is Japan.";
jcode::tr(\$str, $from, $to);
print "$str\n";

半角カタカナを全角カタカナにする 

2007年09月17日(月) 22時29分
require "jcode.pl";

$str = "ゼンカクに変換します!";
jcode::convert(\$str, "sjis", "", "z");
print "$str\n";

全角カタカナを半角カタカナにする 

2007年09月17日(月) 22時27分
require "jcode.pl";

$str = "ハンカクに変換します!";
jcode::convert(\$str, "sjis", "", "h");
print "$str\n";

キーボードからの入力 

2007年09月17日(月) 22時26分
print "Input: ";
$str = <>;
chomp $str;     # 行末の改行を取り除く場合
print "$str";

自身のフォルダを得る 

2007年09月17日(月) 22時25分
use Cwd;

$dir = Cwd::getcwd();
print "dir = $dir\n";