#!/usr/bin/perl # (c) MandrakeSoft, Pixel # Copyright under GPL @dirs = (qw(/etc/skel /root), glob("/home/*")); @path = split ":", "/sbin:/usr/sbin:/usr/X11R6/bin:/bin:/usr/bin"; foreach $f (map { grep { /\.kdelnk$/ } all("$_/Desktop") } @dirs) { open F, $f or next; L: foreach () { $_ = "Exec=linuxconf" if $f =~ /linuxconf/i; # hack ($l) = /^Exec=(?:kdesu\s+-c\s+)?"?(\S+)/ or next; -x "$_/$l" and last L foreach '', @path; print STDERR "removing $f\n"; unlink $f; last; } } sub all { my $d = shift; local *F; opendir F, $d or die "all: can't open dir $d: $!\n"; my @l = grep { $_ ne '.' && $_ ne '..' } readdir F; closedir F; map { "$d/$_" } @l; }