chip@seas.upenn.edu (via RT) wrote: >$ perl -p -e 's_/32__;' The underscore is not perceived as a delimiter there, but as part of an identifier. Observe how it was parsed: $ perl -MO=Deparse -e 's#/32##;' s[/32][]; -e syntax OK $ perl -MO=Deparse -e 's_/32__;' 's_' / 32; -e syntax OK Other clues are available if you turn on warnings: $ perl -wce 's_/32__;' Misplaced _ in number at -e line 1. Misplaced _ in number at -e line 1. Useless use of division (/) in void context at -e line 1. -e syntax OK And if the substitution had contained other text then it would have blown up earlier: $ perl -wce 's_\\__;' Backslash found where operator expected at -e line 1, near "s_\" syntax error at -e line 1, near "s_\" -e had compilation errors. I believe the documentation is at fault. perlop(1) says: Any non-alphanumeric, non-whitespace delimiter may replace the slashes. Underscore is not alphanumeric or whitespace, but is evidently being treated the same way that an alphanumeric character would be. The prohibition is really on identifier characters, not alphanumerics. -zeframThread Previous | Thread Next