Harry Putnam wrote: > > Consider this code: > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > #!/usr/local/bin/perl -w > $num = 234; > $line1 = "$num some text here"; > $line2 = "$num "; ## note the space after. > > @array = ("$line1","$line2");
You don't need quotes there, the scalars are already strings. my @array = ( $line1, $line2 ); > for (@array){ > $trimmed_line = (split(/^$num /,$_))[1]; For "$num " you are assigning the second element of a list that only has one element. You need to tell split to return a two element list or the second element will be undef and not ''. $trimmed_line = (split /^$num /, $_, 2)[1]; > # ($trimmed_line = $_) =~ s/^$num //; > > print "\$trimmed_line = <$trimmed_line>\n"; > } > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Returns: > ./sptest > $trimmed_line = <some text here> > Use of uninitialized value in concatenation (.) or string When you try to use the value undef in a print statement you will get this warning. > at ./sptest line 13. > $trimmed_line = <> John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]