--- ./lib/File/Find.pm-bad Tue Dec 23 06:04:04 2003 +++ ./lib/File/Find.pm Tue Dec 23 07:05:06 2003 @@ -610,7 +610,7 @@ sub _find_opt { if ( (-d _) && ( $top_item !~ /:/ ) ); } else { - $top_item =~ s|/\z|| unless $top_item eq '/'; + $top_item =~ s|/\z|| unless $top_item =~ m<^([a-z]{1,2}:)?/\z>i; ($topdev,$topino,$topmode,$topnlink) = $follow ? stat $top_item : lstat $top_item; } @@ -751,7 +751,7 @@ sub _find_dir($$$) { $dir_pref= ($p_dir =~ /:$/) ? $p_dir : "$p_dir:"; # preface } else { - $dir_pref= ( $p_dir eq '/' ? '/' : "$p_dir/" ); + $dir_pref= ( $p_dir =~ m,/\z, ? $p_dir : "$p_dir/" ); } local ($dir, $name, $prune, *DIR); @@ -919,7 +919,7 @@ sub _find_dir($$$) { $dir_pref = "$dir_name:"; } else { - $dir_name = ($p_dir eq '/' ? "/$dir_rel" : "$p_dir/$dir_rel"); + $dir_name = ($p_dir =~ m ? "$p_dir$dir_rel" : "$p_dir/$dir_rel"); $dir_pref = "$dir_name/"; } @@ -985,8 +985,8 @@ sub _find_dir_symlnk($$$) { $dir_pref = ($p_dir =~ /:$/) ? "$p_dir" : "$p_dir:"; $loc_pref = ($dir_loc =~ /:$/) ? "$dir_loc" : "$dir_loc:"; } else { - $dir_pref = ( $p_dir eq '/' ? '/' : "$p_dir/" ); - $loc_pref = ( $dir_loc eq '/' ? '/' : "$dir_loc/" ); + $dir_pref = ( $p_dir =~ m,/\z, ? $p_dir : "$p_dir/" ); + $loc_pref = ( $dir_loc =~ m,/\z, ? $dir_loc : "$dir_loc/" ); } local ($dir, $name, $fullname, $prune, *DIR); @@ -1108,7 +1108,7 @@ sub _find_dir_symlnk($$$) { $loc_pref = ($dir_loc =~ /:$/) ? $dir_loc : "$dir_loc:"; } else { - $dir_name = ($p_dir eq '/' ? "/$dir_rel" : "$p_dir/$dir_rel"); + $dir_name = ($p_dir =~ m,/\z, ? "$p_dir$dir_rel" : "$p_dir/$dir_rel"); $dir_pref = "$dir_name/"; $loc_pref = "$dir_loc/"; }