+BEGIN {
+ if (!eval q{ use File::Remove qw(remove); 1; }) {{
+ sub main::remove(@)
+ {
+ my $r="";
+ if ("SCALAR" eq ref $_[0]) {
+ $r="-r" if ${$_[0]};
+ shift;
+ }
+ my $cmd="rm -f $r ".join(" ",map({s/'/'\\''/g;"'$_'";} @_));
+ my $err=system($cmd) and confess("$cmd: $cmd");
+ return @_;
+ }
+ }}
+}