#!/usr/bin/perl use strict; use warnings FATAL => 'all'; use English qw(-no_match_vars); my $filename = shift or die "Need a filename"; open my $fh, "<", $filename or die $OS_ERROR; (my $fileout = $filename) =~ s/.txt/-clean.txt/; open my $fo, ">", $fileout or die $OS_ERROR; my $wasblank; while ( my $line = <$fh> ) { chomp $line; if ( !$line ) { $wasblank = 1; print $fo "\n" unless $wasblank; next; } next if $line =~ m/nowiki|
|'''|\||^ /; next unless $line =~ m/\s/ && $line =~ m/\./; $line =~ s!|''!!g; $line =~ s/\n\n+/\n/g; $line =~ s/(\w)-(\w)/$1 $2/g; print $fo $line, "\n\n"; $wasblank = 0; } close $fh; close $fo;