Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: Separate column results?!

by perlnoobster (Sexton)
on Aug 29, 2012 at 09:27 UTC ( #990415=note: print w/ replies, xml ) Need Help??


in reply to Re: Separate column results?!
in thread Separate column results?!

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 :)


Comment on Re^2: Separate column results?!
Select or Download Code
Re^3: Separate column results?!
by perlnoobster (Sexton) on Aug 29, 2012 at 09:33 UTC
    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]"; }

        Or perhaps:

        use feature ":5.14"; use warnings FATAL => qw(all); use strict; my @lines = split /\n/, << 'END'; 111 aaa bbb 222 ccc ddd 333 eee fff END say join "\t", @{[split]}[0,1] for @lines;

        Produces:

        111	aaa
        222	ccc
        333	eee
        

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://990415]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2014-10-25 14:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (143 votes), past polls