#!/usr/bin/perl use Cwd; use Cwd 'abs_path'; main( ); sub main { if ( $ARGV[0] eq "-a" ){ my @dots1 = list_all("."); @dots = grep { /^DoT-/ } @dots1; }else{ @dots = @ARGV; } foreach $dot (@dots){ $abs_dot = abs_path($dot); make_link($abs_dot); #print "$abs_dot\n"; } } sub list_all { my $cdir = $_[0]; opendir(DIR, "$cdir") || die "can't opendir $some_dir: $!"; #@dots = grep { /^DoT-/ && -f "$cdir/$_" } readdir(DIR); @dots = readdir(DIR); closedir DIR; return @dots; #return wantarray ? () : undef; } ### 引数に渡された絶対パスへのリンクをホームディレクトリに作る sub make_link { my $file = $_[0]; ## fileは絶対パス ($dest) = ($file =~ m/DoT-(.+)$/); if ($dest) { print "ln -s $file $ENV{HOME}/.$dest\n"; system "ln -s $file $ENV{HOME}/.$dest"; } #($dest = $file) =~ s/DoT-/./; #$dest =~ s/DoT-/./; #print "ln -s $file $ENV{HOME}/$dest\n"; #system "ln -s $file $ENV{HOME}/$dest"; }