> On Aug 13, 2017, at 6:02 PM, Harry Putnam <rea...@newsguy.com> wrote: > > My aim: > > Run certain kinds of log file lines thru a perl script that will: > > 1) Identify each line by regex that finds pattern at start of line > 2) When such a line is found, print newline first then > 3) wrap any lines longer than specified number of columns. > > > I was not able to divine from `perldoc Text::Wrap' how to really use > it to do what I want. > > my non-working effort stripped to the bare bones: > > use strict; > use warnings; > use Text::Wrap; > > my $rgx = qr/@{[shift]}/; > > $Text::Wrap::columns = 68; > > my @text; > > while (<>) { > if (/$rgx/) { > print "\n"; > print wrap(",", @text); > } > } > > It wasn't at all clear from perldoc Text::Wrap how @text is supposed > to be populated.
@text is a list of scalar strings passed to the wrap subroutine. You can pass a single string also. Try this loop instead: while (<>) { if (/$rgx/) { print "\n"; print wrap(",", $_); } } It is usually better to use explicit variables: while ( my $line = <> ) { if (/$rgx/) { print "\n"; print wrap(",", $line); } } Jim Gibson -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/