John W. Krahn wrote: > > Sudhindra K S wrote: > > > > Hi > > Hello, > > > I have a file with lines as shown below > > > > //abc/... - //xyz/... > > //abc1/... - //xyz1/... > > > > Now i want to split the lines at "-" and get the string on the left in one > > array and the string on the right in another array. > > > > ie: array1 = (//abc, //abc1) and array2 = (//xyz, //xyz1). > > > > How do i do this? > > my ( @array1, @array2 ); > my $save_flush = $|; > $| = 0; > while ( <FILE> ) { > push @{ --$| ? [EMAIL PROTECTED] : [EMAIL PROTECTED] }, $_ for split /\s*-\s*/; > } > $| = $save_flush;
Eek! You're joking. Surely. Tell us! I'm still searching my brain for a good reason to misuse the flush toggle like this, but if it were sheer obfuscation then why push and pop the value of the thing? Why not just { local $| = 0; while (<FILE>) { push @{ --$| ? [EMAIL PROTECTED] : [EMAIL PROTECTED] }, $_ foreach split /\s*-\s*/; } } Tell me. Please. Before I die. Soon. Rob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>