in reply to Perl starter with big problem.

#!/usr/bin/perl -w use strict; die "Usage: $0 <infile>\n" unless @ARGV; open(my $fh, '<', $ARGV[0]) or die "open(): $!\n"; while (<$fh>) { chomp; s{\s+}{/}g; s/-+$/ /; print; }

I really like your attitude. :)

The body of the while is what you should grok. This solution is slightly different to what GrandFather suggested in that it'll work with any amount of whitespace between elements. Of course, it will break if the (tab-separated) elements can contain spaces - in which case GrandFather's solution is better. It depends on your data.

Also: at some point you might want to look at Text::CSV (which, as the POD says, should really be called 'Anything Separated Values'.


Indicators of geekdom:
  • You get a kick out of finishing sentences with domain names, because of the syntactic overlap of certain written languages and DNS notation.
  • You understood the previous sentence.