Below program, I do not get why item I am looking for is [6], instead of [5].
When I do $#text, i get the right value for $value1, but when I do [5], i get somsething4, instead of
somsethingxxxxxxxxxxxxxxxxxxx(which is what I am looking for.
when I do [0], I get empty.. why? what did I do wrong? can you please help?
thanks.
#!/usr/bin/perl
my $value1;
while(<>)
{
my $line = $_;
(@text ) = split(/\s+/,$line);
if($line =~ /Time/)
{
#$value1 = $text[6];
$value1 = $text[$#text];
Top of the file below
something somsething somsething something4 somethingxxxxxxxxxxxxx
aigles
July 1, 2007, 10:18am
2
If the line starts with spaces, the split command gives an empty value for the $text[0].
#!/usr/bin/perl
while(<>)
{
my $line = $_;
chop($line);
(@text) = split(/\s+/,$line);
print "Line='$line'\n";
print "\$#text=$#text\n";
print "\$text[\$#text]]='$text[$#text]'\n";
foreach (0..$#text) { print "\$text[$_]='$text[$_]'\n"; }
}
Input file:
something somsething somsething something4 somethingxxxxxxxxxxxxx
something somsething somsething something4 somethingxxxxxxxxxxxxx
Output:
Line='something somsething somsething something4 somethingxxxxxxxxxxxxx'
$#text=4
$text[$#text]]='somethingxxxxxxxxxxxxx'
$text[0]='something'
$text[1]='somsething'
$text[2]='somsething'
$text[3]='something4'
$text[4]='somethingxxxxxxxxxxxxx'
Line=' something somsething somsething something4 somethingxxxxxxxxxxxxx'
$#text=5
$text[$#text]]='somethingxxxxxxxxxxxxx'
$text[0]=''
$text[1]='something'
$text[2]='somsething'
$text[3]='somsething'
$text[4]='something4'
$text[5]='somethingxxxxxxxxxxxxx'