[[Perl]] #contents * 簡易スクリプト #!/usr/bin/perl =head1 NAME =head1 SYNOPSIS =head1 DESCRIPTION =head1 OPTIONS =cut use strict; * モジュール =head1 NAME =head1 VERSION =head1 SYNOPSIS =head1 DESCRIPTION =head1 METHODS =cut package ; use strict; use warnings; 1; __END__ =head1 BUGS =head1 SEE ALSO =head1 AUTHOR =head1 COPYRIGHT AND LICENSE =cut * Unittest (Test::Class) #!/usr/bin/perl package XXXX::Test; use strict; use warnings; use Test::More; use base qw(Test::Class); use XXXX; XXXX::Test->runtests(); sub setup : Test(setup) { my $self = shift; # 適当につっこむのが慣習? $self->{'test_xxxx'} = 〜; } sub test_xxxx : Test(no_plan) { my $self = shift; my $xxxx = $self->{'test_xxx'}; ok(1 == 1); is(1, 1); } * 日付を保持したまま更新 #!/usr/bin/perl use strict; foreach (@ARGV) { &main($_); } sub main { my $path = shift; my $text = ''; my ($atime,$utime) = (stat $path)[8,9]; open(IN, $path) or die("can't open $path."); while (my $line = <IN>) { # change $line $text .= $line; } close(IN); open(OUT, ">$path") or die("can't write $path."); print OUT $text; close(OUT); utime($atime, $utime, $path); } * ファイル名を書き換え #!/usr/bin/perl use strict; foreach (@ARGV) { &main($_); } sub main { my $src = shift; my $dest = $src; # change $dest return if ($dest eq $src); if (-e $dest) { warn("$dest already exists.\n"); return; } rename $src, $dest; }