Archiv für März, 2015

perldoc ist eine gute Möglichkeit die Dokumentation von Perl und der installierten Module zu lesen und sie in beliebigen Formaten auszugeben. Wer es etwas einfacher mag, greift zum Modul Pod::Webserver.

Der podwebserver stellt die Dokumentation im HTML-Format über HTTP dar. Natürlich könnte man die Dokumentation auch über im CPAN oder meta::cpan lesen, die Verwendung des podwebservers hat allerdings den Vorteil das man die Dokumention für genau die Perl-Version und die Modulversionen sehen kann welche auf dem System installiert sind.
Der podwebserver wird von der Kommandozeile aus gestartet (keine Root-Rechte erforderlich).

podwebserver

Wird der podwebserver ohne Optionen gestartet, kann man anschliessend über die Adresse localhost:8020 auf die Dokumentation zugreifen. Möchte man den Webserver nicht an localhost oder einen anderen Port binden, verwendet man den folgenden Aufruf:

podwebserver -H hostname -p port

Um das ganze zu vereinfachen kann man sich auch ein kleines Shellskript basteln und die Doku auch gleich im Browser öffnen. Im folgendem Beispiel wird iceweasel (firefox unter Debian) als Browser verwendet.

#!/bin/sh
podwebserver &
sleep 5
iceweasel -remote 'openurl( http://localhost:8020/, new-tab)' &

Debianpaket: libpod-webserver-perl

Advertisements

Perl-Oneliner für das Arbeiten mit Textdateien

Veröffentlicht: März 28, 2015 in Oneliner
Schlagwörter:
entferne alle Leerzeilen

Beispiel: ohne Backupfile

perl -ni -e 'print unless /^$/' file.txt

Beispiel: mit Backupfile

perl -ni.bak -e 'print unless /^$/' file.txt

 

gebe alle Zeilen aus in dem ein RegEx exakt n-mal vorkommt

Beispiel: gebe alle Zeilen in file.txt aus in denen foo 3mal vorkommt

perl -ne 'print if ( ( () = /foo/g ) == 3 )' file.txt

(mehr …)

rekursives kopieren mit find

Veröffentlicht: März 27, 2015 in Oneliner
Schlagwörter:,

Frage: Wie kann ich Dateien eines bestimmten Typs (z.B. AVI-Files) aus verschiedenen Verzeichnissen und deren Unterverzeichnissen in ein Zielverzeichnis kopieren?

Antwort:

cd basisverzeichnis

find . -name '*.avi' -exec cp {} zielverzeichnis \;

Hinweis: in diesem Beispiel muss das Zielverzeichnis existieren

Frage: Geht das auch unter Beibehaltung der kompletten Verzeichnisstruktur (mitkopieren von Unterordnern)?

Antwort:

cd basisverzeichnis

find . -name '*.avi' | cpio -pdm zielverzeichnis

Hinweis: Hier sorgt die Option „d“ dafür das die Verzeichnisse ggf. erstellt werden.

Task::Kensho – Auswahl der besten CPAN-Module

Veröffentlicht: März 25, 2015 in Perl
Schlagwörter:, ,

cpanEiner der größten Vorteile von Perl ist das Comprehensive Perl Archive Network (CPAN), da man hier praktisch für jedes Problem ein passendes Modul findet. Aber bei aktuell 146.071 Modulen in 31.557 Distributionen fällt die Auswahl nicht wirklich leicht.

Task::Kensho schafft hier Abhilfe und bietet eine Übersicht der besten Module aus den Bereichen:

  • Testing
  • objektorientierte Programmierung
  • asynchrone Programmierung
  • XML-Entwicklung
  • Web Entwicklung
  • Datenbank
  • Datum und Uhrzeit
  • Excel / CSV
  • etc.

CronJobs aller User anzeigen

Veröffentlicht: März 24, 2015 in Oneliner
Schlagwörter:

Ein kleiner Einzeiler um die CronJobs aller User auf dem System anzuzeigen (muss als root ausgeführt werden).

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

Pwn2Own: Hacker knacken die großen Browser

Veröffentlicht: März 22, 2015 in News
Schlagwörter:, , ,

Chrome-icon

Beim diesjährigen Pwn2Own-Wettbewerb wurden Exploits für die 4 großen Browser Firefox, Chrome, Internet Explorer und Safari gezeigt. Es gab ein Rekordpreisgeld von 110.000 US-Dollar für den Chrome-Hack (entdeckt durch JungHoon Lee).

Beim Wettbewerb haben die Hacker 30 Minuten Zeit, um auf einem ihnen unbekannten Gerät die installierte Software zu hacken, so dass beliebiger Code ausgeführt werden kann. Bei Erfolg winken hohe Preisgelder. Über die gefundenen Sicherheitslücken wird allerdings geschwiegen, bis der Hersteller die Lücke behoben hat.

Abschneiden der Browser:

  • 4 Bugs im Internet Explorer (Windows 8.1)
  • 3 Bugs in Mozillas Firefox (Windows 8.1)
  • 2 Bugs in Safari (OS X Yosmite)
  • 1 Bug in Chrome (Windows 8.1)

techcrunch berichtet das die Probleme im Firefox bereits durch Mozilla behoben wurden.

Bildnachweis: Chrome-Icon by Morcha

kinderleicht automatisieren mit IFTTT

Veröffentlicht: März 22, 2015 in Misc
Schlagwörter:,

An dieser Stelle möchte ich kurz den Dienst IFTTT vorstellen, welcher dir nicht nur viel Routinearbeit abnehmen kann, sondern auch noch Zeit spart.

(mehr …)