#!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; my $ua = LWP::UserAgent->new(env_proxy => 1); my @countries = ('FR'); my %groups = ( 'Groupe du Parti populaire européen (Démocrates-chrétiens) et des Démocrates européens'=>'PPE-DE', 'Groupe socialiste au Parlement européen'=>'PSE', 'Groupe Alliance des démocrates et des libéraux pour l\'Europe'=>'ALDE', 'Groupe des Verts/Alliance libre européenne'=>'Verts/ALE', 'Groupe confédéral de la Gauche unitaire européenne/Gauche verte nordique'=>'GUE/NGL', 'Groupe Indépendance/Démocratie'=>'IND/DEM', 'Groupe Union pour l\'Europe des Nations'=>'UEN', 'Non-inscrits'=>'NI', ); print <<"HTML"; MEPs List

MEPs List

It is urgent NOW to contact your Member of Parliament (MEP) to tell her/him to stop Software patents in Europe. To achieve that, she/he should follow FFII's voting list on the plenary vote, planned on July 6th, 2005.

You could find bellow, how to contact a MEP from your Country. Best is to go and see her/him in a personal interview. Fax is also a good option. Snail mail and email are last options.

For more concrete information on what you can do, see http://noepatents.eu.org/

The table bellow shows coordinates for all MEPs. Then you can choose a trustable candidate/party in your country:
AT BE CY CZ DE DK EE ES FI FR GB GR HU IE IT LT LU LV MT NL PL PT SE SI SK.

  Brussel Strasbourg
MEP phone +32 (0)2 284 5<ext> +33 (0)3 88 17 7<ext>
Assistant phone +32 (0)2 284 7<ext> +33 (0)3 88 17 7<ext>
Fax +32 (0)2 284 9<ext> +33 (0)3 88 17 9<ext>
Address <building>
<office>
60, rue Wiertz / Wiertzstraat 60
B-1047 Bruxelles/Brussel
BELGIUM
<building>
<office>
Allée du Printemps
BP 10024/F
F-67070 Strasbourg Cedex
FRANCE
HTML foreach my $ictry (@countries) { print <<"HTML";

$ictry

HTML my $ctry_url = "http://www.europarl.eu.int/members/expert/groupAndCountry/search.do?country=$ictry&language=FR"; do { my $ctry_html = $ua->get($ctry_url)->content; my @ctry_meps = $ctry_html =~ /\/members\/expert\/groupAndCountry\/view\.do;jsessionid=\w+\.node\d\?partNumber=\d&country=$ictry&language=FR&id=(\d+)/g; foreach my $iucd (@ctry_meps) { $ctry_html =~ /\/members\/expert\/groupAndCountry\/view\.do;jsessionid=\w+\.node\d\?partNumber=(\d)&country=$ictry&language=FR&id=\d+/g; my $part_number = $1; my $mep_url = "http://www.europarl.eu.int/members/expert/groupAndCountry/view.do?partNumber=$part_number&country=$ictry&language=FR&id=$iucd"; my $mep_html = $ua->get($mep_url)->content; (my $name) = $mep_html =~ / HTML } if ($ctry_html =~ /&(partNumber=2)/) { $ctry_url = "http://www.europarl.eu.int/members/expert/groupAndCountry/search.do?country=$ictry&language=FR&$1"; } else { undef $ctry_url; } } while ($ctry_url); print <<"HTML";
Name Tel extension Bxl Building Bxl Office Stb Building Stb Office Group
\s+(.+?)\s+<\/td>/so; die "$iucd -> $part_number <$mep_url>\n" unless $name; $mep_url =~ s/&/&/go; $name =~ s/\s+/ /go if $name; (my $grp) = $mep_html =~ /(.+?)<\/span>/so; (my $tel) = $mep_html =~ /\+32 \(0\)2 28 45(\d\d\d)/; my ($bbuild, $boff) = $mep_html =~ /Parlement européen<\/strong>
\s*Bât\. (.+?)
\s*(\d.+?)
/s; my ($sbuild, $soff) = $mep_html =~ /Parlement européen<\/strong>
\s*Bât\. (.+?)
\s*([TM].+?)
/s; warn "no name $mep_url\n" unless $name; warn "no tel for $name $mep_url\n" unless $tel; warn "no bbuild for $name $mep_url\n" unless $bbuild; warn "no boff for $name $mep_url\n" unless $boff; warn "no sbuild for $name $mep_url\n" unless $bbuild; warn "no soff for $name $mep_url\n" unless $soff; warn "no grp for $name $mep_url\n" unless $grp; warn "no group for $name $mep_url\n" unless $groups{$grp}; print <<"HTML";
$name $tel $bbuild $boff $sbuild $soff $groups{$grp}
HTML } print <<"HTML"; HTML