Anirban Adhikary wrote:
Dear List

Hello,

I have a source file as follows
hello how are you?
hello how are you?
What language did you want to use?
What language did you want to use?
I am here
You are there
this is my first perl script
What language did you want to use?
####################################################
I want to write a script which will take a single line from the filehandel
and print the line without any space between words of that line

Just "space"?  Does that also include TAB characters and other whitespace?


I have written a code as follows( I can achieve this by using an array but I
don't want to use an array)


use strict;
use warnings;

my $fname="/home/anadhikary/perl/file1.txt";
open my $FH,'<',$fname;

You should always verify that the file opened correctly:

open my $FH, '<', $fname or die "Cannot open '$fname' $!";


while(<$FH>)
 {
   my ($line)=split(/\s+/,$_);
   print $line."\n";

     s/\s+//g;
     print "$_\n";


 }
close($FH);

But this code prints only the first words of every line....
Where I am making the mistake???

split() returns the list of non-whitespace character strings but you are only assigning from the first element of that list. Your code should have been something more like:

     my $line = join '', split;



John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order.                            -- Larry Wall

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to