App-MiseEnPlace
view release on metacpan or search on metacpan
lib/App/MiseEnPlace.pm view on Meta::CPAN
sub _create_dir {
my( $self , $dir ) = @_;
my $msg;
if( -e -d $dir ) {
$msg = colored('exists ','green') if $self->verbose();
}
elsif( -e $dir and ! -l $dir ) {
$msg = colored('ERROR: blocked by non-dirctory','bold white on_red');
}
else {
path( $dir )->mkpath();
$msg = colored('created','bold black on_green');
}
my $home = $self->homedir();
if ( $msg ) {
$dir =~ s/^$home/~/;
say "[ DIR] $msg $dir";
}
}
sub _create_link {
my( $self , $linkpair ) = @_;
my( $src , $target ) = @$linkpair;
my $msg;
if ( ! -e $src ) {
$msg = colored( 'ERROR: src does not exist' , 'bold white on_red' )
}
elsif( -e -l $target ) {
if ( readlink $target eq $src ) {
$msg = colored('exists ','green') if $self->verbose;
}
else {
unlink $target;
symlink $src , $target;
$msg = colored( 'fixed' , 'bold black on_yellow' ) . ' ';
}
}
elsif ( -e $target ) {
$msg = colored( 'ERROR: blocked by existing file' , 'bold white on_red' );
}
else {
symlink $src , $target;
$msg = colored( 'created' , 'bold black on_green' );
}
my $home = $self->homedir();
if ( $msg ) {
$src =~ s/^$home/~/;
$target =~ s/^$home/~/;
say "[LINK] $msg $src -> $target";
}
}
( run in 3.061 seconds using v1.01-cache-2.11-cpan-98e64b0badf )