On Thu, Apr 25, 2002 at 02:34:55PM +0200, [EMAIL PROTECTED] wrote: > hi, > > i have a data file test1.txt as follows: > > 551356835||1|7684940|47534900|0 > ...... > > my code should open test1.txt, read in the data, convert it an print it into > test2.txt : > > ($nodeid, $nameid, $type, $longitude, $latitude, $altitude) = > split ("|", $line);
THAT ====^^^ is your problem. ---------- perldoc -f split ---------- split /PATTERN/,EXPR,LIMIT split /PATTERN/,EXPR split /PATTERN/ ... ---------- perldoc -f split ---------- See the '/' around PATTERN? That means that we're dealing with a regular expression, and '|' is a special char for regexps. Your split says "Split at NOTHING OR NOTHING", since that '|' basically means "OR". Since NOTHING can't be matched you split after each character. If you write it like "split /\|/, $line" it'll work. More information can be found in perldoc perlrequick or perldoc perlretut The section you're looking for starts with 'Matching this or that' in both documents. Take a look at 'perldoc -f quotemeta' if you're running into similar problems when using more complex matching and generated search expressions. -- If we fail, we will lose the war. Michael Lamertz | +49 221 445420 / +49 171 6900 310 Nordstr. 49 | [EMAIL PROTECTED] 50733 Cologne | http://www.lamertz.net Germany | http://www.perl-ronin.de -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]