#!/usr/bin/perl # # cgi-version of # Raymond Queneau's Cent mille milliards de počmes # # (C) Magnus Bodin 1997-2015 # # 2015-03-11 Fixed a very embarrasing rand()-error pointed out by # Jean-Pierre VIDAL # Message-ID: <54FF03D1.9020405@free.fr> # 2010-03-02 Small fixes in Chapman-version # 2010-03-02 Corrected line #6,12 of Chapman-version, thanks to Will Guzzardi # 2008-04-23 Added translation sources upon suggestion from # David Abel # 2000-02-21 Corrected spelling error in french ventriloque -> ventriloques # 1999-07-14 Corrected spelling error in swedish "rim smed" to "rimsmed" # 1999-05-12 Added english translation and cleaned up even more! # 1997-12-05 Added translation and cleaned up # 1997-11-20 Swedish original version, thanks /netch/ and Axis Communications # # $Id: queneau.html,v 1.12 2010/03/02 06:16:30 magnus Exp $ # # Swedish translation by "Lars Hagström" # in "Hundra tusen miljarder dikter", Bakhåll 1992, ISBN 91 7742 101 9 # English translation by "Stanley Chapman" # found in "Oulipo Compendium", Atlas 1998, ISBN 0 947757 96 1 (atlas) use strict; my $vcid = '$Id: queneau.html,v 1.12 2010/03/02 06:16:30 magnus Exp $'; my @se= (("På Pampas må man skjortan flinkt frottera","Och hänga den till tork på kungens tron", "Det salta köttet smakar infektion","Nog är det mer än man kan tolerera", "Det är ej svårt att sådant memorera","En fana vajar stolt i vår skvadron", "Kåbojsarna rör kaffet ut med kron","Trots kylan hörs ej någon protestera", "Från polen till Rosario färdas vi","Ett äventyr av möda och magi", "Där dryck och tango blir till ritual","Latinamerikas vulgaritet", "Förför Europas pryda societet","En klocka bångar i en katedral"), ("I Parthenon kan hästar galoppera","På frisen ännu fri från erosion", "Lord Elgin och hans storexpedition","Får häst och ryttare att krackelera", "I nordanvind de rister mest numera","I londonsmoggens fräna inversion", "Museet gissar på nån faraon","Vid Themsens stränder, långt från trygga Hera", "I Platons Grekland blommar folks espri","Man räknar sköna andar i parti", "Den döde Sokrates syns dvärglikt skral","Hans byst är stor och fraktas i paket", "I skrovet än en marmorraritet","Ja, hela västerlandets kapital"), ("En sjöman måste snuset inhalera","Ty näsan kräver retning och motion", "Bretagnska dosor doftar tradition","Från frisisk ö och ända till Madeira", "Minns ni, gott folk, om jag får suggerera","När sillen kom, miljon efter miljon", "Man tröttnar kanske efter nån portion","Den passar ej så bra att gratinera", "Nej, bättre upp med ett färskrökeri","Vi saltar, torkar, kokar och står i", "Båd' makrill, spätta, lax, torsk, haj och val","Och säljer sist en krabba grann och fet", "Slut för i dag, tyvärr, blir sagt diskret","Ett däggdjur kung är - vi blott dess rival"), ("Vid fem o'clock grevinnan sågs sortera","Små bakelser och te i dagsranson", "Den infödde chauffören tar sig ton","Med krav om att en fru skall retirera", "Men snart en bris begynner kulminera","I templens vrede dör en diskussion", "Förtjänsten tas om hand av en baron","När brandmän måste vatten transportera", "Från Malabar till Ganges hörs ett skri","När Englands lorder far med jönseri", "Och vapnen skramlar kring var general","Det krävs ej mycket förrn en sån går bet", "I Indien har man nog av överhet","Ett pund är inget värt för en bengal"), ("Förföriskt ung kan nymfen kurtisera","Måhända snobbig i sin attraktion", "En mantel fladdrar kring förbjuden zon","Narcissens doft förmår paralysera", "I Pisa tillåts man fotografera","Där Galilei släppte sina don", "Etruskisk gåta ristades på bron","Den tyddes ej i grekisk-romersk era", "Längs hela stöveln härjar hyckleri","I Florens bjuds turisten häleri", "Sen ljuger guiden om nåt original","Latin och pizza - är de epitet?", "Ett Master-card ger bäst validitet?","Champagne och Chianti är väl samma skval?"), ("Han böjer sig för att sin mapp studera","Ett stöldobjekt för mången lömsk person", "Han böjer sig för att få position","Får papplapp se och inte slapp mapp mera!", "Ack ve! en sådan fräckhet att dupera","Ett intet ont anande landsortshjon", "Att resa till en storstadsregion","Kan både tuff och mähä djupt chockera", "I stadens smuts man tvingas få logi","Rätt snart man faller in i tiggeri", "Se upp! Man kan bli slängd i nån kanal","I sista paltan går man på kafét", "Och skådar Eiffeltornets dignitet","Ty annars är man torr och ej global"), ("När två kan med varann sympatisera","Det rör sig visst om tvillingars hormon", "Och denna upptäckt medför frustration","Man vill ju inte en favorisera", "Likväl är han den bror som vill maskera","En orättfärdig dokumentation", "Den vittnar om en märklig adoption","Som ingen tycks ha vågat vidimera", "En forskare nu sitter på kansli","Att söka svar har blivit en mani", "Ett syskon finns i allt material","Min bror, jag tror jag vet varför du smet", "Min bror, du hade låg prioritet","Det är ej lätt att vara illegal"), ("Homeros lägger av med att skandera","Ger avkall på all rytm, rim och reson", "Och prosan framstår nu som ändstation","En klarsynt kritiker hörs applådera", "Men vers och prosa måste existera","Bredvid varann i samma produktion", "Det glappar dock i denna edition","Nog tycks mest översättaren kåsera", "Ett enda språk behövs för poesi","Som rymmer allt - ja, så blir versen fri", "Att blanda slang med slemmigt pekoral","O. Bard! Din monolog har kvalitet", "Din sång förkroppsligar en stor profet","En rimsmed humoristisk och verbal"), ("Gourmanden fastan bröt med att dinera","En tallrik sniglar före hummerklon", "Paté med vitlök, grisfot med citron","Behöver man en piggvar harpunera?", "Ett barn på godis nog vill frukostera","När vargen skådar höna och kalkon", "Tonsillerna får ejakulation","När papuanen grannen vill fritera", "En katt har råttor i sitt skafferi","En lodis tycker bra om eau de vie", "En landsväg närs av mången kos anal","Av vin och bröd består var mans diet", "Den-fisförnäme lassar in sorbet","Men ingenting slår ut en punschpokal"), ("När allt är slut och döden skall regera","När varje gravsten får sin inskription", "De kära sörjer i kontemplation","En vag kanalje kistan skall plombera", "En dödgrävare ser man kalkylera","Ni har nu blivit ren spekulation", "Så sker ett slags omvänd vivisektion","Och maskar, kvalster gör er snabbt till lera", "Den fege faller in i apati","Den modige han grips av raseri", "Begravningståget går trots svåra kval","Nu läsaren får se det här konkret", "Det blir nog riset för en viss poet","Likväl har allt (sonetter!) en final")); my @en= (("Don Pedro from his shirt has washed the fleas", "The bull's horns ought to dry it like a bone", "Old corned-beef's rusty armour spreads disease", "That suede ferments is not at all well known", "To one sweet hour of bliss my memory clings", "Signalling gauchos very rarely shave", "An icicle of frozen marrow pings", "As sleeping-bags the silent landscape pave", "Staunch pilgrims longest journeys can't depress", "What things we did we went the whole darned hog", "And played their mountain croquet jungle chess", "Southern baroque's seductive dialogue", "Suits lisping Spanish tongues for whom say some", "The bell tolls fee-less fi-less fo-less fum"), ("The wild horse champs the Parthenon's top frieze", "Since Elgin left his nostrils in the stone", "The Turks said just take anything you please", "And loudly sang off-key without a tone", "O Parthenon you hold the charger's strings", "The North Wind Bites into his architrave", "Th'outrageous Thames a troubled arrow slings", "To break a rule Britannia's might might waive", "Platonic Greece was not so talentless", "A piercint wit would sprightliest horses flog", "Socrates watched his hemlock effervesce", "Their sculptors did our best our hulks the clog", "With marble souvenirs then fill a slum", "For Europe's glory while Fate's harpies strum"), ("At snuff no Cornish sailorman would sneeze", "His nasal ecstasy beats best Cologne", "Upon his old oak chest he cuts his cheese", "With cherry-pips his cottage floor is sown", "The frisian Isles my friends are cherised things", "Whose ocean still-born herrings madly brave", "Such merchandise a melancholy brings", "For burning bushes never fish forgave", "When dried the terrapin can naught express", "Shallots and sharks'fins face the smould'ring log", "While homeward thirsts to each quenched glass say yes", "Lobsters for sale must be our apologue", "On fish-slab whale nor seal has never swum", "They're kings we're mammal-cousins hi ho hum"), ("At five precisely out went La Marquise", "For tea cucumber sandwiches a scone", "Her native chauffeur waited in the breeze", "Which neither time nor tide can long postpone", "How it suprised us pale grey underlings", "When flame a form to wrath ancestral gave", "A daring baron pockets precious Mings", "Till firemen come with hose-piped tidal wave", "The fasting fakir doesn't smell the less", "In indian summers Englishmen drink grog", "The colonel's still escutcheoned in undress", "No need to cart such treasures from the fog", "The Taj Mahal has trinkets spice and gum", "And lessors' dates have all too short a sum"), ("From playboy Chance the nymph no longer flees", "Through snobbish growing round her hemline zone", "His toga rumpled high above his knees", "One gathers rosebuds or grows old alone", "Old Galileo's Pisan offerings", "Were pots graffiti'd over by a slave", "The learning linguist cameramaniac sings", "Etruscan words which Greece and Rome engrave", "Emboggled minds may puff and blow and guess", " With gravity at gravity's great cog", "On wheels the tourist follows hos hostess", "With breaking voice across the Alps they slog", "Do bank clerks rule their abacus by thumb", "In cognac brandy is Bacardi rum?"), ("He bent right down to pick up his valise", "That horders of crooks felt they'd more right to own", "He bent right down and well what did he seize", "The thumb- and finger-prints of Al Capone", "Oh how oh how he hates such pilferings", "Filching the lolly country thrift helped save", "He's gone to London how the echo rings", "Thou homestead hillside woodland rock and cave", "The peasants's skirts on rainy days she'd tress", "And starve the sniveling baby like a dog", "Watching manure and compost coalesce", "One misses cricket hearth and croaking frog", "Where no one bothered how one warmed one's bum", "yet from the City's pie pulled not one plum"), ("When one with t'other straightaway agrees", "The answer is they could be twins full-grown", "Replies like this the dumbstruck brain may tease", "Normal one aims to be and share the throne", "And yet 'twas he the beggar Fate just flings", "Rejecting ermine to become a knave", "The fertile mother changelings drops like kings", "In purest cradels tha's how they behave", "The genealogist with field and fess", "With quill white-collared through his life will jog", "To prove mamma an adult with a tress", "But I can understand you Brogher Gog", "And let you off from your opinions glum", "A wise loaf always knows its humblest crumb"), ("Prose took the minstrel's verse without a squeeze", "His exaltation shocked both youth and crone", "The understanding critic firstly sees", "'Ere meanings new to ancient tribes are thrown", "They both are right not untamed mutterings", "That metred rhyme alone can souls enslave", "They both are right not unformed smatterings", "That every verbal shock aims to deprave", "Poetic licence needs no strain or stress", "One tongue will do to keep the verse agog", "From cool Parnassus down to wild Loch Ness", "Bard I adore your endless monologue", "Ventriloquists be blowed you strike me dumb", "Soliloquies predict great things old chum"), ("The acid tongue with gourmet's expertise", "Licks round carved marble chops on snails full-blown", "The showman gargles fire and sword with ease", "While sharks to let's say potted shrimps are prone", "The roundabout eats profits made on swings", "Nought can the mouse's timid nibbling stave", "In salads all chew grubs before they've wings", "The nicest kids for strickiest toffees crave", "The wolf devours both sheep and shepherdess", "A bird-brain banquet melts bold Mistress Mog", "The country lane just thrives on farmyard mess", "Whiskey will always wake an Irish bog", "Though bretzels take the dols from board-room drum", "Fried grilled black pudding's still the world's best yum"), ("The marble tomb gapes wide with jangling keys", "When masons clutch the breath we held on loan", "Forms shadowy with indecision wheeze", "And empty cages show life's bird has flown", "It's one of many horrid happenings", "With sombre thoughts they grimly line the nave", "Proud death quite il-le-gi-ti-mate-ly stings", "Victorious worms grind all into the grave", "It's no good rich men crying Heaven Bless", "Or grinning like a pale-faced golliwog", "Poor Yorick comes to bury not address", "We'll suffocate before the epilogue", "Poor reader smile before your lips go numb", "The best of all things to an end must come")); my @fr= (("Le roi de la pampa retourne sa chemise","pour la mettre ā sécher aux cornes des taureaux", "le cornédbîf en boîte empeste la remise","et fermentent de męme et les cuirs et les peaux", "Je me souviens encor de cette heure exeuquise","les gauchos dans la plaine agitaient leurs drapeaux", "nous avions aussi froids que nus sur la banquise","lorsque pour nous distraire y plantions nos tréteaux", "Du pôle ā Rosario fait une belle trotte","aventures on eut qui s'y pique s'y frotte", "lorsqu'on boit du maté l'on devient argentin","L'Amérique du Sud séduit les équivoques", "exaltent l'espagnol les oreilles baroques","si la cloche se tait et son terlintintin"), ("Le cheval Parthénon s'énerve sur sa frise","depuis que lord Elgin négligea ses naseaux", "le Turc de ce temps-lā pataugeait dans sa crise","il chantait tout de męme oui mais il chantait faux", "Le cheval Parthénon frissonnait sous la bise","du client londonien oų s'ébattent les beaux", "il grelottait le pauvre aux bords de la Tamise","quand les gręlons fin mars mitraillent les bateaux", "La Grčce de Platon ā coup sûr n'est point sotte","on comptait les esprits acérés ā la hotte", "lorsque Socrate mort passait pour un lutin","Sa sculpture est illustre et dans le fond des coques", "on transporte et le marbre et débris et défroques","si l'Europe le veut l'Europe ou son destin"), ("Le vieux marin breton de tabac prit sa prise","pour du fin fond du nez exciter les arceaux", "sur l'antique bahut il choisit sa cerise","il n'avait droit qu'ā une et le jour des Rameaux", "Souvenez-vous amis de ces îles de Frise","oų venaient par milliers s'échouer les harenceaux", "nous regrettions un peu ce tas de marchandise","lorsqu'on voyait au loin flamber les arbrisseaux", "On sčche le poisson dorade ou molve lotte","on sale le requin on fume ā l'échalotte", "lorsqu'on revient au port en essuyant un grain","Enfin on vend de tout homards et salicoques", "on s'excuse il n'y a ni baleines ni phoques","le mammifčre est roi nous sommes son cousin"), ("C'était ā cinq o'clock que sortait la marquise","pour consommer un thé puis des petits gâteaux", "le chauffeur indigčne attendait dans la brise","elle soufflait bien fort par dessus les côteaux", "On était bien surpris par cette plaine grise","quand se carbonisait la fureur des châteaux", "un audacieux baron empoche toute accise","lorsque vient le pompier avec ses grandes eaux", "Du Gange au Malabar le lord anglais zozotte","comme ā Chandernagor le manant sent la crotte", "le colonel s'éponge un blason dans la main","Ne fallait pas si loin agiter ses breloques", "les Indes ont assez sans įa de pendeloques","l'écu de vair ou d'or ne dure qu'un matin"), ("Du jeune avantageux la nymphe était éprise","snob un peu sur les bords des bords fondamentaux", "une toge il portait qui n'était pas de mise","des narcisses on cueille ou bien on est des veaux", "Quand on prend des photos de cette tour de Pise","d'oų Galilée jadis jeta ses petits pots", "d'une étrusque inscription la pierre était incise","les Grecs et les Romains en vain cherchent leurs mots", "L'esprit souffle et resouffle au-dessus de la botte","le touriste ā Florence ignoble charibotte", "l'autocar écrabouille un peu d'esprit latin","Les rapports transalpins sont-ils biunivoques?", "les banquiers d'Avignon chantent-ils les baīoques?","le Beaune et le Chianti sont-ils le męme vin?"), ("Il se penche il voulait attraper sa valise","que convoitait c'est sûr une horde d'escrocs", "il se penche et alors ā sa grande surprise","il ne trouve aussi sec qu'un sac de vieux fayots", "Il déplore il déplore une telle mainmise","qui se plaît ā flouer de pauvres provinciaux", "aller ā la grande ville est bien une entreprise","elle effraie le Berry comme les Morvandiaux", "Devant la boue urbaine on retrousse sa cotte","on gifle le marmot qui plonge sa menotte", "lorsqu'il voit la gadoue il cherche le purin","On regrette ā la fin les agrestes bicoques", "on mettait sans faįon ses plus infectes loques","mais on n'aurait pas vu le métropolitain"), ("Quand l'un avecque l'autre aussitôt sympathise","se faire il pourrait bien que ce soit des jumeaux", "la critique lucide aperįoit ce qu'il vise","on espčre toujours ętre de vrais normaux", "Et pourtant c'était lui le frčre de feintise","qui clochard devenant jetait ses oripeaux", "un frčre męme bas est la part indécise","que les parents féconds offrent aux purs berceaux", "Le généalogiste observe leur bouillotte","gratter le parchemin deviendra sa marotte", "il voudra retrouver le germe adultérin","Frčre je te comprends si parfois tu débloques", "frčre je t'absoudrai si tu m'emberlucoques","la gémellité vraie accuse son destin"), ("Lorsqu'un jour exalté l'ačde prosaīse","pour déplaire au profane aussi bien qu'aux idiots", "la découverte alors voilā qui traumatise","il donne ā la tribu des cris aux sens nouveaux", "L'un et l'autre a raison non la foule insoumise","le vulgaire s'entęte ā vouloir des vers beaux", "l'un et l'autre ont raison non la foule imprécise","ā tous n'est pas donné d'aimer les chocs verbaux", "Le počte inspiré n'est point un polyglotte","une langue suffit pour emplir sa cagnotte", "męme s'il prend son sel au celte c'est son bien","Barde que tu me plais toujours tu soliloques", "tu me stupéfies plus que tous les ventriloques","le métromane ā force incarne le devin"), ("Le marbre pour l'acide est une friandise","d'aucuns par dessus tout prisent les escargots", "la critique lucide aperįoit ce qu'il vise","qui sait si le requin boulotte les turbots?", "Du voisin le Papou suįote l'apophyse","que n'a pas dévoré la horde des mulots?", "le gourmet en salade avale sa cytise","l'enfant pur aux yeux bleus aime les berlingots", "Le loup est amateur de coq et de cocotte","le chat fait un festin de tętes de linotte", "le chemin vicinal se nourrit de crottin","On a bu du pinard ā toutes les époques", "grignoter des bretzels distrait bien des colloques","mais rien ne vaut grillé le morceau de boudin"), ("Lorsque tout est fini lorsque l'on agonise","lorsque le marbrier astique nos tombeaux", "sur la place un forain de feu se gargarise","et tout vient signifier la fin des haricots", "On vous fait devenir une orde marchandise","on prépare la route aux pensers sépulcraux", "de la mort on vous greffe une orde bâtardise","la mite a grignoté tissu os et rideaux", "Le brave a beau crier ah cré nom saperlotte","le lâche peut arguer de sa mine pâlotte", "les croque-morts sont lā pour se mettre au turbin","Cela considérant ô lecteur tu suffoques", "comptant tes abattis lecteur tu te disloques","toute chose pourtant doit avoir une fin")); my %pm; @{$pm{se}->{lin}}=(@se); $pm{se}->{rub}='en av hundra tusen miljarder dikter'; @{$pm{fr}->{lin}}=(@fr); $pm{fr}->{rub}='Cent mille milliards de počmes'; @{$pm{en}->{lin}}=(@en); $pm{en}->{rub}='100,000,000,000,000 poems'; sub randomlines { my (@l,$i); srand($^T % $$); for ($i=0; $i<14; $i++) { push @l,int(rand(10)); } return @l; } sub lines2code { my $c; foreach (@_) { $c .= sprintf("%d",$_); } return $c; } sub code2lines { my $code=shift; my (@l,$i,$c); if (length($code)!=14) # test length against spammers { return &randomlines(); } else { for ($i=0; $i<14; $i++) { $c=substr($code,$i,1); $c=-1 unless defined $c; if (($c<0)||($c>13)) # someone is a fool. not me. { $c=int(rand(9)); } push @l,$c; } } return @l; } sub poem { my ($l,@cl)=@_; my ($lines,$p,$i,$rub,$code); $lines=$pm{$l}->{lin}; $rub=$pm{$l}->{rub}; $code=&lines2code(@cl); for ($i=0; $i<14; $i++) { $p .= $lines->[$i+$cl[$i]*14] . "
\n"; } return ($rub,$p,$code); } my ($lingo,$code,$buffer); my ($n,$v,$new); $code=''; $lingo='fr'; $buffer = $ENV{'QUERY_STRING'}; foreach (split(/&/, $buffer)) { ($n, $v) = split(/=/); $lingo=$v if ($n eq 'l'); $code=$v if ($n eq 'p'); $new=$v if ($n eq 'n'); } $lingo='fr' unless $lingo =~ /(en|fr|se)/i; $lingo = lc $lingo; my (%sel); $sel{$lingo} = ' SELECTED'; $code = '' if $new; my ($rub,$doc,$code)=&poem($lingo,&code2lines($code)); my $trans = ''; if ($lingo eq 'en') { $trans = '

Translation to English by Stanley Chapman
found in "Oulipo Compendium"
Atlas 1998, ISBN 0-947757-96-1'; } if ($lingo eq 'se') { $trans = '

Translation to Swedish by Lars Hagström
found in "Hundra tusen miljarder dikter"
Bakhåll 1992, ISBN 91-7742-101'; } print "Content-type: text/html\n\n"; print <<"--EOF"; $rub

$rub

$doc


Raymond Queneau

$trans

Idea and implementation by Magnus Bodin 1997
Produced in the wonderful country of Sweden.

--EOF