OT: a problem about text manipulation
Benjamin Franz
snowhare at nihongo.org
Tue Oct 31 11:13:35 UTC 2006
On Tue, 31 Oct 2006, Benjamin Franz wrote:
> the following Perl script should do it.
>
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> while (<ARGV>) {
> chomp;
> my @elements = split(/\s+/);
> my $running_col1;
> foreach my $item (@elements) {
> if ($item =~ m/^[0-9]+$/) {
> $running_col1 = $item;
> } else {
> print "$running_col1 $item\n";
> }
> }
> }
>
Here is a slightly revised version that would handle the case if a line
break occured in the middle of a 'set'. IOW it would handle the case of
1 a b c
d e 2 a a
3 e w a
#!/usr/bin/perl
use strict;
use warnings;
my $running_col1;
while (<ARGV>) {
chomp;
my @elements = split(/\s+/);
foreach my $item (@elements) {
if ($item =~ m/^[0-9]+$/) {
$running_col1 = $item;
} else {
print "$running_col1 $item\n";
}
}
}
--
Jerry
"It is moronic to predict without first establishing an error rate
for a prediction and keeping track of one’s past record of accuracy."
-- Nassim Nicholas Taleb, Fooled By Randomness
More information about the users
mailing list