#!/usr/bin/perl -w use strict; my @files; sub copy_file { my ($src, $dest) = @_; my $data = ""; open (FILESRC, "<$src") or die; open (FILEDEST, ">$dest") or die; seek(FILESRC, 0, 2); my $fsize = tell(FILESRC); seek(FILESRC, 0, 0); read FILESRC, $data, $fsize; print FILEDEST $data; close(FILESRC); close(FILEDEST); } use File::Find; sub process_file { my $file = $File::Find::name; $file =~ s:/usr/share/applnk-mdk-simplified/::; push(@files, $file); } my $kdehome; if ($< == 0) { exit 0; } if ($ENV{KDEHOME}) { $kdehome=$ENV{KDEHOME}; } else { $kdehome="$ENV{HOME}/.kde"; } find(\&process_file, '/usr/share/applnk-mdk-simplified'); @files = sort @files; foreach (@files) { my $file = $_; if ( $file ) { if (! -e "${kdehome}/share/applnk-mdk-simplified/$file" ) { if ( -d "/usr/share/applnk-mdk-simplified/$file" ) { mkdir ("${kdehome}/share/applnk-mdk-simplified/$file"); copy_file "/usr/share/applnk-mdk-simplified/$file/.directory", "${kdehome}/share/applnk-mdk-simplified/$file/.directory"; open (FILE, ">>${kdehome}/share/applnk-mdk-simplified/${file}/.directory") or die "Directory $file doesn't exist \n"; print FILE "\nHidden=true\n"; close (FILE); } if ( -f "/usr/share/applnk-mdk-simplified/$file" ) { copy_file "/usr/share/applnk-mdk-simplified/$file", "${kdehome}/share/applnk-mdk-simplified/$file"; open (FILE, ">>${kdehome}/share/applnk-mdk-simplified/$file") or die "File $file doesn't exist\n"; print FILE "\nHidden=true\n"; close (FILE); } } } }