Till Tommy Riboe m. fl.
Det finnas faktiskt ett undantag till, nämligen om nästa rad börjar med en versal, typ Schleswig-Holstein Sedan är väl frågan om indrag av rad ska avlägsnas, vilket jag tycker. I gamla OCR, åtminstone, återfinns tabbar och mångdubbla spaces. Kanske även de bör sållas bort, allt för att underlätta korrekturläsningen.
Vänl. Bernhard Johanson
----- Original Message ----- From: runeberg-request@lists.lysator.liu.se To: runeberg@lists.lysator.liu.se Sent: Wednesday, January 28, 2004 11:00 AM Subject: Runeberg digest, Vol 1 #49 - 5 msgs
Send Runeberg mailing list submissions to runeberg@lists.lysator.liu.se
To subscribe or unsubscribe via the World Wide Web, visit http://lists.lysator.liu.se/mailman/listinfo/runeberg or, via email, send a message with subject or body 'help' to runeberg-request@lists.lysator.liu.se
You can reach the person managing the list at runeberg-admin@lists.lysator.liu.se
When replying, please edit your Subject line so it is more specific than "Re: Contents of Runeberg digest..."
Today's Topics:
=?iso-8859-1?Q?SV:_=5BRuneberg=5D_Vill_du_hj=E4lpa_Projekt_Runeberg_progr?=
=?iso-8859-1?Q?ammera=3F?= (Tommy Riboe (E-mail 2))
=?iso-8859-1?Q?SV:_=5BRuneberg=5D_Vill_du_hj=E4lpa_Projekt_Runeberg_progr?=
=?iso-8859-1?Q?ammera=3F?= (Tommy Riboe)
- =?windows-1252?Q? RE: [Runeberg] Vill du hj=E4lpa Projekt Runeberg
progr ammera??= (Ketil Firing Hanssen )
--__--__--
Message: 1 Reply-To: tommy.riboe@bbab.se From: "Tommy Riboe (E-mail 2)" tommy.riboe@swipnet.se To: runeberg@lists.lysator.liu.se Date: Wed, 28 Jan 2004 00:48:02 +0100 Subject: [Runeberg]
=?iso-8859-1?Q?SV:_=5BRuneberg=5D_Vill_du_hj=E4lpa_Projekt_Runeberg_progr?=
=?iso-8859-1?Q?ammera=3F?=
*** omsändning med av listan godkänd mejladress ***
Jag byggde vidare på regexp-exemplet från Bengt och kan nu erbjuda nedanstående förslag. Eftersom jag är så gott som nybörjare på Perl så skall mitt exempel tas som ett algoritmförslag och kompletteras med felhantering och liknande. Dessutom har jag säkert missat något undantagsfall. Det verkar i alla fall fungera med den medföljande texten utökad med enstaka instanser av mina undantag.
mvh Tommy Riboe
#============================================ #!/bin/perl # # huvudregel: # a) rader vars sista ord slutar med '-' bryts före avstavat ord # b) avstavat ord sammanfogas på nästa rad # c) indrag bibehålles # # undantag: # a) rad som slutar med tankstreck (ensamt '-') # b) rad som slutar med förled i upprepade sammansatta ord # c) avstavning i sidans sista rad # # vid undantag b) flyttas förledet till följande rad
seek(STDIN, 0, SEEK_SET); $line= ""; $nextline= ""; $spill = "";
#if (<STDIN>) { # läs in första raden $line = <STDIN>; { # avlägsna ord som slutar med bindestreck från # slutet av raden, med undantag för ensamma # bindestreck, placera avlägsnad text i $spill $line =~ s/(\s*)(.*)( +?)(\S+?)-$/\1\2/; $spill = $4; } print $line;
while (<STDIN>) {
# testa om nästa rad börjar med "och", "eller" # (bör mer naturligt placeras efter nästa sats # och använda sig av $nextline) if (/^\s*(och|eller).*$/) { $spill = $spill . "- "; } # förbered nästa rad $nextline = $_; # sätt ihop marginal + spill + nästa_rad $nextline =~ s/(\s*)(.+?)$/$1$spill$2/; # gör nästa rad till aktuell rad $line = $nextline; # avlägsna ord som slutar med bindestreck från # slutet av raden, med undantag för ensamma # bindestreck, placera avlägsnad text i $spill $line =~ s/(\s*)(.*)( +?)(\S+?)-$/\1\2/; $spill = $4; print $line;
} #} print "\n(till nästa sida: " . $spill . ")\n"; #============================================
-----Ursprungligt meddelande----- Från: runeberg-admin@lists.lysator.liu.se [mailto:runeberg-admin@lists.lysator.liu.se]För Bengt J. Olsson Skickat: den 27 januari 2004 00:00 Till: runeberg@lists.lysator.liu.se; Hans Persson Ämne: [Runeberg] Re: [Runeberg] Vill du hjälpa Projekt Runeberg programmera?
Har inte något färdigt program men har följande brott-stycke av ett sånt program;
<för varje rad>
$line =~ s/(.*) (.+?)-$/$1/;
<matchar om sista tecknet på raden är "-"; allt utom det avstavade ordet finns kvar i $1; första delen av det avstavade ordet finns i $2>
<nästa rad om matchningen lyckades>
$line = $2 . $line;
<konkatenerar början av det avstavade ordet med nästa rad>
M v h Bengt
Bengt J. Olsson bengt@blafs.com http://blafs.com
--__--__--
Message: 2 Reply-To: tommy.riboe@bbab.se From: "Tommy Riboe" tommy.riboe@bbab.se To: runeberg@lists.lysator.liu.se Date: Wed, 28 Jan 2004 00:37:13 +0100 Subject: [Runeberg]
=?iso-8859-1?Q?SV:_=5BRuneberg=5D_Vill_du_hj=E4lpa_Projekt_Runeberg_progr?=
=?iso-8859-1?Q?ammera=3F?=
Jag byggde vidare på regexp-exemplet från Bengt och kan nu erbjuda nedanstående förslag. Eftersom jag är så gott som nybörjare på Perl så skall mitt exempel tas som ett algoritmförslag och kompletteras med felhantering och liknande. Dessutom har jag säkert missat något undantagsfall. Det verkar i alla fall fungera med den medföljande texten utökad med enstaka instanser av mina undantag.
mvh Tommy Riboe
#============================================ #!/bin/perl # # huvudregel: # a) rader vars sista ord slutar med '-' bryts före avstavat ord # b) avstavat ord sammanfogas på nästa rad # c) indrag bibehålles # # undantag: # a) rad som slutar med tankstreck (ensamt '-') # b) rad som slutar med förled i upprepade sammansatta ord # c) avstavning i sidans sista rad # # vid undantag b) flyttas förledet till följande rad
seek(STDIN, 0, SEEK_SET); $line= ""; $nextline= ""; $spill = "";
#if (<STDIN>) { # läs in första raden $line = <STDIN>; { # avlägsna ord som slutar med bindestreck från # slutet av raden, med undantag för ensamma # bindestreck, placera avlägsnad text i $spill $line =~ s/(\s*)(.*)( +?)(\S+?)-$/\1\2/; $spill = $4; } print $line;
while (<STDIN>) {
# testa om nästa rad börjar med "och", "eller" # (bör mer naturligt placeras efter nästa sats # och använda sig av $nextline) if (/^\s*(och|eller).*$/) { $spill = $spill . "- "; } # förbered nästa rad $nextline = $_; # sätt ihop marginal + spill + nästa_rad $nextline =~ s/(\s*)(.+?)$/$1$spill$2/; # gör nästa rad till aktuell rad $line = $nextline; # avlägsna ord som slutar med bindestreck från # slutet av raden, med undantag för ensamma # bindestreck, placera avlägsnad text i $spill $line =~ s/(\s*)(.*)( +?)(\S+?)-$/\1\2/; $spill = $4; print $line;
} #} print "\n(till nästa sida: " . $spill . ")\n"; #============================================
-----Ursprungligt meddelande----- Från: runeberg-admin@lists.lysator.liu.se [mailto:runeberg-admin@lists.lysator.liu.se]För Bengt J. Olsson Skickat: den 27 januari 2004 00:00 Till: runeberg@lists.lysator.liu.se; Hans Persson Ämne: [Runeberg] Re: [Runeberg] Vill du hjälpa Projekt Runeberg programmera?
Har inte något färdigt program men har följande brott-stycke av ett sånt program;
<för varje rad>
$line =~ s/(.*) (.+?)-$/$1/;
<matchar om sista tecknet på raden är "-"; allt utom det avstavade ordet finns kvar i $1; första delen av det avstavade ordet finns i $2>
<nästa rad om matchningen lyckades>
$line = $2 . $line;
<konkatenerar början av det avstavade ordet med nästa rad>
M v h Bengt
Bengt J. Olsson bengt@blafs.com http://blafs.com
--__--__--
Message: 3 From: "Ketil Firing Hanssen " firing@spray.no To: runeberg@lists.lysator.liu.se Subject: =?windows-1252?Q? RE: [Runeberg] Vill du hj=E4lpa Projekt
Runeberg progr ammera??=
Date: Wed, 28 Jan 2004 08:28:34 +0100
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible.
--=_NextPart_Lycos_0221701075278514_ID Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit
Følgende unntak bør tas hånd om:
Vest- Tyskland
Regelen er at neste rad begynner med stor bokstav (evt. unntak hvis hele
ordet er
skrevet med store bokstaver)
Denne blir vel verre:
romersk- katolsk
mvh
Ketil F. Hanssen
------- Original Message -------
From : Tommy Riboe tommy.riboe@bbab.se Date : Wed, 28 Jan 2004 00:37:13 +0100
Jag byggde vidare på regexp-exemplet från Bengt och kan nu erbjuda
nedanstående förslag. Eftersom jag är så gott som nybörjare på Perl så skall mitt exempel tas som ett algoritmförslag och kompletteras med felhantering och liknande. Dessutom har jag säkert missat något undantagsfall. Det verkar i alla fall fungera med den medföljande texten utökad med enstaka instanser av mina undantag.
mvh Tommy Riboe
#============================================ #!/bin/perl # # huvudregel: # a) rader vars sista ord slutar med '-' bryts före avstavat ord # b) avstavat ord sammanfogas på nästa rad # c) indrag bibehålles # # undantag: # a) rad som slutar med tankstreck (ensamt '-') # b) rad som slutar med förled i upprepade sammansatta ord # c) avstavning i sidans sista rad # # vid undantag b) flyttas förledet till följande rad
seek(STDIN, 0, SEEK_SET); $line= ""; $nextline= ""; $spill = "";
#if () { # läs in första raden $line = ; { # avlägsna ord som slutar med bindestreck från # slutet av raden, med undantag för ensamma # bindestreck, placera avlägsnad text i $spill $line =~ s/(\s*)(.*)( +?)(\S+?)-$/\1\2/; $spill = $4; } print $line;
while () {
# testa om nästa rad börjar med "och", "eller" # (bör mer naturligt placeras efter nästa sats # och använda sig av $nextline) if (/^\s*(och|eller).*$/) { $spill = $spill . "- "; } # förbered nästa rad $nextline = $_; # sätt ihop marginal + spill + nästa_rad $nextline =~ s/(\s*)(.+?)$/$1$spill$2/; # gör nästa rad till aktuell rad $line = $nextline; # avlägsna ord som slutar med bindestreck från # slutet av raden, med undantag för ensamma # bindestreck, placera avlägsnad text i $spill $line =~ s/(\s*)(.*)( +?)(\S+?)-$/\1\2/; $spill = $4; print $line;
} #} print "\n(till nästa sida: " . $spill . ")\n"; #============================================
-----Ursprungligt meddelande----- Från: runeberg-admin@lists.lysator.liu.se [mailto:runeberg-admin@lists.lysator.liu.se]För Bengt J. Olsson Skickat: den 27 januari 2004 00:00 Till: runeberg@lists.lysator.liu.se; Hans Persson Ämne: [Runeberg] Re: [Runeberg] Vill du hjälpa Projekt Runeberg programmera?
Har inte något färdigt program men har följande brott-stycke av ett sånt program;
$line =~ s/(.*) (.+?)-$/$1/;
allt utom det avstavade ordet finns kvar i $1; första delen av det avstavade ordet finns i $2>
$line = $2 . $line;
M v h Bengt
Bengt J. Olsson bengt@blafs.com http://blafs.com
Runeberg mailing list Runeberg@lists.lysator.liu.se http://lists.lysator.liu.se/mailman/listinfo/runeberg
Finn dine gamle klassekamerater på
http://klassekamerater.nettavisen.no
--=_NextPart_Lycos_0221701075278514_ID Content-Type: message/rfc822 Content-Transfer-Encoding: 7bit Content-Disposition: inline
Return-Path: runeberg-admin@lists.lysator.liu.se Received: from mail.lysator.liu.se (mail.lysator.liu.se [130.236.254.3]) by lmin04.st1.spray.net (Postfix) with ESMTP id 6BA036F792 for firing@spray.no; Wed, 28 Jan 2004 02:37:22 +0100 (MET) Received: from tokaimura.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 09426D9126; Wed, 28 Jan 2004 02:34:04 +0100 (MET) Delivered-To: mailmanalias-post+runeberg@lysator.liu.se Received: by mail.lysator.liu.se (Postfix, from userid 1646) id BC9BED7C9A; Wed, 28 Jan 2004 00:37:32 +0100 (MET) Received: from amsfep14-int.chello.nl (amsfep14-int.chello.nl
[213.46.243.22])
by mail.lysator.liu.se (Postfix) with ESMTP id 9889FD7A72 for runeberg@lists.lysator.liu.se; Wed, 28 Jan 2004 00:37:19 +0100 (MET) Received: from bbabw2kp2 ([213.89.102.233]) by amsfep14-int.chello.nl (InterMail vM.6.00.05.02 201-2115-109-103-20031105) with SMTP id 20040127233715.HAEL18174.amsfep14-int.chello.nl@bbabw2kp2 for runeberg@lists.lysator.liu.se; Wed, 28 Jan 2004 00:37:15 +0100 Reply-To: tommy.riboe@bbab.se From: "Tommy Riboe" tommy.riboe@bbab.se To: runeberg@lists.lysator.liu.se Message-ID: 048001c3e52e$7e853020$6f00a8c0@bbab.local MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.6604 (9.0.2911.0) In-Reply-To: 000a01c3e460$161a1fb0$bd7ba8c0@OPUS X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Importance: Normal X-Spam-Checker-Version: SpamAssassin 2.61-lysator_fetto_1.1 (1.212.2.1-2003-12-09-exp) on fetto.lysator.liu.se X-Spam-Level: X-Spam-Status: No, hits=0.2 required=5.0
tests=AWL,RCVD_IN_RFCI,RCVD_IN_SORBS
autolearn=no version=2.61-lysator_fetto_1.1 Subject: [Runeberg]
=?iso-8859-1?Q?SV:_=5BRuneberg=5D_Vill_du_hj=E4lpa_Projekt_Runeberg_progr?=
=?iso-8859-1?Q?ammera=3F?= Sender: runeberg-admin@lists.lysator.liu.se Errors-To: runeberg-admin@lists.lysator.liu.se X-BeenThere: runeberg@lists.lysator.liu.se X-Mailman-Version: 2.0.13 Precedence: bulk List-Unsubscribe: http://lists.lysator.liu.se/mailman/listinfo/runeberg, mailto:runeberg-request@lists.lysator.liu.se?subject=unsubscribe List-Id: Projekt Runeberg <runeberg.lists.lysator.liu.se> List-Post: mailto:runeberg@lists.lysator.liu.se List-Help: mailto:runeberg-request@lists.lysator.liu.se?subject=help List-Subscribe: http://lists.lysator.liu.se/mailman/listinfo/runeberg, mailto:runeberg-request@lists.lysator.liu.se?subject=subscribe List-Archive: http://lists.lysator.liu.se/pipermail/runeberg/ Date: Wed, 28 Jan 2004 00:37:13 +0100
Jag byggde vidare på regexp-exemplet från Bengt och kan nu erbjuda nedanstående förslag. Eftersom jag är så gott som nybörjare på Perl så skall mitt exempel tas som ett algoritmförslag och kompletteras med felhantering och liknande. Dessutom har jag säkert missat något undantagsfall. Det verkar i alla fall fungera med den medföljande texten utökad med enstaka instanser av mina undantag.
mvh Tommy Riboe
#============================================ #!/bin/perl # # huvudregel: # a) rader vars sista ord slutar med '-' bryts före avstavat ord # b) avstavat ord sammanfogas på nästa rad # c) indrag bibehålles # # undantag: # a) rad som slutar med tankstreck (ensamt '-') # b) rad som slutar med förled i upprepade sammansatta ord # c) avstavning i sidans sista rad # # vid undantag b) flyttas förledet till följande rad
seek(STDIN, 0, SEEK_SET); $line= ""; $nextline= ""; $spill = "";
#if (<STDIN>) { # läs in första raden $line = <STDIN>; { # avlägsna ord som slutar med bindestreck från # slutet av raden, med undantag för ensamma # bindestreck, placera avlägsnad text i $spill $line =~ s/(\s*)(.*)( +?)(\S+?)-$/\1\2/; $spill = $4; } print $line;
while (<STDIN>) {
# testa om nästa rad börjar med "och", "eller" # (bör mer naturligt placeras efter nästa sats # och använda sig av $nextline) if (/^\s*(och|eller).*$/) { $spill = $spill . "- "; } # förbered nästa rad $nextline = $_; # sätt ihop marginal + spill + nästa_rad $nextline =~ s/(\s*)(.+?)$/$1$spill$2/; # gör nästa rad till aktuell rad $line = $nextline; # avlägsna ord som slutar med bindestreck från # slutet av raden, med undantag för ensamma # bindestreck, placera avlägsnad text i $spill $line =~ s/(\s*)(.*)( +?)(\S+?)-$/\1\2/; $spill = $4; print $line;
} #} print "\n(till nästa sida: " . $spill . ")\n"; #============================================
-----Ursprungligt meddelande----- Från: runeberg-admin@lists.lysator.liu.se [mailto:runeberg-admin@lists.lysator.liu.se]För Bengt J. Olsson Skickat: den 27 januari 2004 00:00 Till: runeberg@lists.lysator.liu.se; Hans Persson Ämne: [Runeberg] Re: [Runeberg] Vill du hjälpa Projekt Runeberg programmera?
Har inte något färdigt program men har följande brott-stycke av ett sånt program;
<för varje rad>
$line =~ s/(.*) (.+?)-$/$1/;
<matchar om sista tecknet på raden är "-"; allt utom det avstavade ordet finns kvar i $1; första delen av det avstavade ordet finns i $2>
<nästa rad om matchningen lyckades>
$line = $2 . $line;
<konkatenerar början av det avstavade ordet med nästa rad>
M v h Bengt
Bengt J. Olsson bengt@blafs.com http://blafs.com
Runeberg mailing list Runeberg@lists.lysator.liu.se http://lists.lysator.liu.se/mailman/listinfo/runeberg
--=_NextPart_Lycos_0221701075278514_ID--
--__--__--
Runeberg mailing list Runeberg@lists.lysator.liu.se http://lists.lysator.liu.se/mailman/listinfo/runeberg
End of Runeberg Digest