matrix_medium_6886658738.jpg

WWW::IP - Returns your ip address with failsafe mechanism von David Farrell ermittelt die eigene öffentliche IP-Adresse.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::IP;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

Failsafe

Um Ausfallsicherheit zu erreichen, fragt WWW::IP nacheinander bis zu drei verschiedene Dienste (Webservices), für die entsprechende Perl Module zur Verfügung stehen, ab:

Der erste Treffer gewinnt, die anderen Dienste werden dann nicht mehr abgefragt.

 

WWW::curlmyip

WWW::curlmyip von David Farrell nutzt http://curlmyip.com/ um die öffentliche IP-Adresse zu ermitteln.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::curlmyip;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

 

WWW::hmaip

WWW::hmaip von David Farrell nutzt http://geoip.hidemyass.com/ip/ um die öffentliche IP-Adresse zu ermitteln.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::hmaip;

my $ip = get_ip();

print "IP: $ip\n";

Ausgabe des Beispielprogramms:

IP: 79.232.98.21

 

WWW::ipinfo

WWW::ipinfo von David Farrell nutzt http://ipinfo.io/ um die öffentliche IP-Adresse zu ermitteln. Weiterhin können Geolocation Daten zu der IP-Adresse abgefragt werden.

Die Funktion get_ipinfo() liefert eine Referenz auf einen Hash mit der IP Adresse und den Geolocation Daten zurück.

Beispiel

#!/usr/bin/perl
use strict;
use warnings;
use WWW::ipinfo;

my $ipinfo = get_ipinfo();

my @ipinfo_keys = qw/ip hostname city region country loc org postal/;

foreach my $ipinfo_key (@ipinfo_keys) {
    $ipinfo->{$ipinfo_key} = 'unknown' unless $ipinfo->{$ipinfo_key};
    print "$ipinfo_key: $ipinfo->{$ipinfo_key}\n";
}

Ausgabe des Beispielprogramms:

ip: 79.232.98.21
hostname: p4FE86215.dip0.t-ipconnect.de
city: Leimbach
region: Hessen
country: DE
loc: 50.7500,9.7833
org: AS3320 Deutsche Telekom AG
postal: unknown

Der Funktion get_ipinfo() kann auch eine IPv4 oder IPv6 Adresse als Parameter übergeben werden, dann werden die Geolocation Daten für die angegebene IP zurückgeliefert.

 

Siehe auch:

 

Bildnachweis

phsymyst via photopin cc

 

Das Startup Spritz hat eine einfache Technik entwickelt, Texte überdurchschnittlich schnell zu lesen und dennoch den Inhalt zu verstehen.

Die Wörter werden einzeln nacheinander in hoher Geschwindigkeit angezeigt. Um Augenbewegungen zu minimieren und damit die Lesegeschwindigkeit zu erhöhen, wird eine farbige Markierung innerhalb des Wortes als Orientierungsfixpunkt eingeblendet.

 

spread0r

spread0r ist eine Perl basierte Implementierung dieser Technik für Textdateien.

Anhand der mitgelieferten Beispieltexte kann man sich mit dieser Technik und der Software vertraut machen. Diese Schnelllesetechnik funktioniert nach ein paar Minuten Eingewöhnung erstaunlich gut und macht Spaß.

Schauen wir doch, ob sich damit auch die Dokumention von CPAN - Modulen schneller lesen lässt.

CPAN - Module werden üblicherweise in Pod dokumentiert. Dieses Format lässt sich sehr einfach in Text umwandeln.

$ perldoc -t Moose > Moose.txt

Nun spread0r starten und die oben erzeugte Datei als Parameter übergeben:

$ ./spread0r.pl Moose.txt 

spread0r.png

Okay - es ist schon etwas gewöhnungsbedürftig.

 

Siehe auch

Renée Bäcker hat den Vortrag The Renaissance of Perl - Was sich in den letzten Jahren bei Perl5 getan hat auf der FrOSCon 2013 (Slides, Video Mitschnitt) und auf der OpenRheinRuhr 2013 (Slides) gehalten.

Sowohl auf der FrOSCon als auch auf der OpenRheinRuhr waren nach dem Vortag einige Besucher am Perl-Stand und haben sich bei Renée ausdrücklich für diesen Vortrag bedankt. Den meisten war nicht wirklich klar, was sich so alles geändert hat und welche coolen Tools es inzwischen gibt.

Es lohnt sich!

 

Ankündigung des Vortrags

Perl ist alt und riecht schon leicht modrig.

Das denken auf jeden Fall die Personen, die sich schon länger nicht mehr mit Perl beschäftigt haben.

Dabei hat sich in den letzten Jahren einiges -- auch innerhalb der Perl-Community -- getan.

Dieser Vortrag stellt einige dieser Neuerungen vor.

  1. Perl ist unleserlich! Das kann man machen, (muss|sollte) man aber nicht.
  2. Perl ist bei Perl 5 stehen geblieben. Die Sprache heißt Perl5 und ist in der Version 18.1 veröffentlicht (Perl5 18.1 kam im Mai 2013 heraus).
  3. Perl5 + Web = CGI.pm. Ja, vor über 10 Jahren. Heute benutzt man andere Techniken.
  4. Das Objektsystem in Perl5 ist so umständlich. Ein Elch und sein Gefolge kann helfen!
  5. Das Bauen und Ausliefern von Perl5-Paketen ist umständlich. Nicht wenn man seine Tools kennt.

Diese fünf Punkte zeigen, dass sich in den letzten Jahren einiges getan hat. Renée Bäcker möchte den Zuhörern diese Änderungen zeigen und zum Einsatz der Features und Pakete ermuntern.

 

Video des Vortrags

 

Slides des Vortrags auf der FrOSCon