.------[ [EMAIL PROTECTED] wrote (2002/12/11 at 14:49:15) ]------
 | 
 |  I have a list of names, separated by the '/' character in a variable, 
 |  $list, and a name in the variable $name.  If the name appears in the 
 |  list, I want to remove it and clean up $list.  It takes me 4 calls to 
 |  s///, and it looks clunky.  I have a feeling that someone out there 
 |  on this list will know a cleaner way to do it.
 |  
 |  My code:
 |  
 |  $list =~ s|$name||; # remove $name from the list if it's in the list
 |  $list =~ s|//|/|; # if $name was in the middle of the list, it would have 
 |  left behind two /s, remove one
 |  $list =~ s|^/||; # if $name was at the front of the list, remove the 
 |  leading /
 |  $list =~ s|/$||; # if $name was at the end of the list, remove the 
 |  trailing /
 |
 `-------------------------------------------------

    How about this: 

    $list =~ s|/$name||; 
    $list =~ s|^/||; 

    If it's at the end, it will remove the last /. 
    If it's in the middle it will fill in correctly. 
    If it's on the front the second regex will take care of it. 

 ---------------------------------
   Frank Wiles <[EMAIL PROTECTED]>
   http://frank.wiles.org
 ---------------------------------


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to