in reply to Separate column results?!

What is this Case Cover"; on line 8 of your code?

You should really read some books on Perl. We are not going to do all your work for you.

To parse the tab separated columns, you might profit from

split /\t/, $line;
See split.
لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Replies are listed 'Best First'.
Re^2: Separate column results?!
by perlnoobster (Sexton) on Aug 29, 2012 at 09:27 UTC
    Hi Choroba, Thank you for replying, please ignore that line, I've taken the split suggestion on board and have come up with the following :) :
    #!/usr/bin/perl use warnings; use strict; my $PHONE_FILE = 'phones.txt'; open(PHONE_FILE, $PHONE_FILE) or die "Can't open file: $!\n"; my @lines = <PHONE_FILE>; foreach $_ (@lines) { my @columns = split('\t', $_); my $col1 = $columns[0]; my $col2 = $columns[1]; chomp $col1; print "\$columns[0]\t$columns[1]\n"; }
    The data used in the text file is the following:
    Apple iPhone 4 test Apple iPhone 4s test1 Apple iPhone 3G test2 Apple iPhone 3GS test3
    The output is:
    $columns[0] test $columns[0] test1 $columns[0] test2 $columns[0] test3
    Please can you help me fix this? the output should be the phone name and not $columns[0]?? Thank you :)
      update: I've changed it to the following:
      print "\n$columns[0]\t$columns[1]";
      works fine now :) however there is a blank space between the lines the chomp function doesn't seem to work?
      #!/usr/bin/perl use warnings; use strict; my $PHONE_FILE = 'phones.txt'; open(PHONE_FILE, $PHONE_FILE) or die "Can't open file: $!\n"; my @lines = <PHONE_FILE>; foreach $_ (@lines) { my @columns = split('\t', $_); my $col1 = $columns[0]; my $col2 = $columns[1]; chomp $col1; chomp $col2; print "\n$columns[0]\t$columns[1]"; }
      ??
        i got it to work :)
        foreach $_ (@lines) { my @columns = split('\t', $_); chomp @columns; my $col1 = $columns[0]; my $col2 = $columns[1]; chomp $col1; chomp $col2; print "\n$columns[0]\t$columns[1]"; }