SlideShare una empresa de Scribd logo
1 de 86
Perl die  Taschenkettensäge   unter den Programmiersprachen Vortrag von Brigitte Jellinek, 18C3 19C3 if 2003
Inhalt ,[object Object]
Inhalt ,[object Object],[object Object]
Inhalt ,[object Object],[object Object],[object Object]
Inhalt ,[object Object],[object Object],[object Object],[object Object]
Inhalt ,[object Object],[object Object],[object Object],[object Object],[object Object]
Inhalt ,[object Object],[object Object],[object Object],[object Object],[object Object],Perl 6
Inhalt ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Perl für Anfänger ,[object Object]
Perl für Anfänger ,[object Object],[object Object]
Mehr Spass durch Skript-Sprachen ,[object Object],[object Object],print "Hallo Welt, wie gehts?";
Mehr Spass durch Skript-Sprachen ,[object Object],[object Object]
Mehr Spass durch Skript-Sprachen ,[object Object],[object Object],$a = 42; print "Variable a ist $a "; $a = "zweiundvierzig"; print "Variable a ist $a "; $a = 13.7603; print "Variable a ist $a ";
Mehr Spass durch Skript-Sprachen ,[object Object],[object Object],[object Object],[object Object]
Perl für Anfänger ,[object Object],[object Object]
cool? uncool? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mehr Spass durch  Web-Programmierung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Web-Programmierung ,[object Object],[object Object],[object Object],[object Object]
Perl für Anfänger ,[object Object],[object Object]
Perl ist gratis ,[object Object]
Perl ist gratis + überall ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Perl für Anfänger ,[object Object],[object Object],[object Object],[object Object]
Perl für Fortgeschrittene ,[object Object]
Weniger Aufwand,  mehr Wirkung veraltet, aber trotzdem beeindruckend
kenn ich schon ,[object Object],$a[ 0 ] = 42; $a[ 1 ] = &quot;zweiundvierzig&quot;; $a[ 2 ] = 3.141; for ($i=0; $i < 3; $i++ ) { print &quot;$i: Wert $a[ $i ]&quot;; }
kenn ich schon ,[object Object],$text = &quot;Voldemort besitzt den zweiten Zauberstab, der eine Phönixfeder enthält.&quot;; $text =~ s/Voldemort/Du weisst schon wer/g; print $text;
kenn ich schon ,[object Object],$ring{'Gandalf'}  = &quot;Narya&quot;; $ring{'Galadriel'} = &quot;Nenya&quot;; $ring{'Elrond'}  = &quot;Velia&quot;; $ring{'Frodo'}  = &quot;Ash Nazgh&quot;;
kenn ich schon ,[object Object],@a = ( 0, &quot;eins&quot;, 2 );  # Liste zuweisen $a[ 3 ] = &quot;drei&quot;;  # über Index zuweisen push( @a, &quot;bier&quot;);  # hinten anfügen push( @a, &quot;fünf&quot;, 6); # auch mehrere Elemente splice( @a, 4, 1, &quot;VIER!&quot; );    # in schweren Fällen: # in der Mitte ersetzen print &quot;@a&quot;;
kenn ich schon ,[object Object]
Von x zu Perl
Von PASCAL zu Perl ,[object Object],[object Object],BEGIN Pascal; END Pascal;
Von PASCAL zu Perl ,[object Object],[object Object],BEGIN Pascal; END Pascal;
Von PASCAL zu Perl ,[object Object],[object Object],[object Object],BEGIN Pascal; END Pascal;
Von C zu Perl ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],int main( int argc,  char * argv[]
Von C++/Java zu Perl ,[object Object],[object Object],[object Object]
public class HelloWorld { public static void main(   String args[])  { System.out.print ln ( &quot;Hello World&quot;); } }
print  &quot;Hello World&quot;;
Von Javascript zu Perl ,[object Object],[object Object],[object Object],[object Object],[object Object]
Von PHP zu Perl ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
<?php / / gehört zu Foo $a = 10; $b = 20; go(); // gehört zu Bar $bar_a = 42; $bar_b = 23; bar_go(); ?>
package Foo; $a = 10; $b = 20; go(); package Bar; $a = 42; $b = 23; go(); print  $Foo::a; print $Foo::b; Foo::go();
Neu in Perl: Hash ,[object Object],[object Object],[object Object],Narya Nenya Vilya Ash Nazgh Gandalf Galadriel Elrond Frodo 0 1 2 3 Narya Nenya Vilya Ash Nazgh 0 1 2 3 0 1 2 3
Neu in Perl: RegExp ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Neu in Perl: RegExp $text = &quot;Voldemort besitzt den zweiten Zauberstab, der eine Phönixfeder enthält.&quot;; print &quot;Vorher: $text  <br>&quot;; $text =~ s/Voldemort/Du weisst schon wer/g; print &quot;Nachher: $text  <br>&quot;; if ( $text =~ m/Zauberstab/ ) { print &quot;Zauberstab gefunden!&quot;; }
Module, Module, .. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Module installieren ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Perl für Fortgeschrittene ,[object Object],[object Object],[object Object],[object Object],[object Object]
Perl Anwendung ,[object Object]
Perl Anwendung:  CGI   ,[object Object],[object Object],[object Object],[object Object]
Perl Anwendung:  System-Administration   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Perl Anwendung:  Data Munging ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Perl für Profis ,[object Object]
TMTOWTDI ,[object Object],[object Object]
TMTOWTDI print  &quot;hallo&quot;;  # funktion ohne klammer print (&quot;hallo&quot;);  # funktion mit klammer # auch mehrere funktionen: reverse sort keys %hash;
TMTOWTDI print  &quot;ein Anf-z. amp;quot; in meinem string&quot;; print  'ein Anf-z. &quot; in meinem string'; print qq{zwei ' Anf-z. &quot; in meinem string}; print qq/zwei ' Anf-z. &quot; in meinem string/; print qq|zwei ' Anf-z. &quot; in meinem string|; $text =~ m/gesucht/; $text =~ m|gesucht|; $text =~ m=gesucht=; $text =~ m(gesucht);
Magie: Programme werden immer kürzer ,[object Object],[object Object],[object Object]
Magie: Programme werden immer kürzer # Datei öffnen (mit Fehlerbehandlung) $OK = open(HANDLE, &quot;datei.txt&quot;); if ( not $OK ) { die &quot;Problem beim lesen der Datei: $!&quot;; }
Magie: Programme werden immer kürzer # Datei öffnen (mit Fehlerbehandlung) $OK = open(HANDLE, &quot;datei.txt&quot;); unless ( $OK ) { die &quot;Problem beim lesen der Date: $!&quot;; } unless  ist if not
Magie: Programme werden immer kürzer # Datei öffnen (mit Fehlerbehandlung) $OK = open(HANDLE, &quot;datei.txt&quot;); die &quot;Problem beim lesen der Date: $!&quot;    unless $OK; Bedingung als &quot;Nachsatz&quot;
Magie: Programme werden immer kürzer # Datei öffnen (mit Fehlerbehandlung) open(HANDLE, &quot;datei.txt&quot;) or die &quot;Problem beim lesen der Date: $!&quot; Wie im Deutschen:  friss oder stirb!
Die unsichtbare Variable ,[object Object],[object Object],[object Object],[object Object],[object Object],$zeile  ist eine ganz normale Variable
Unsichtbare Variable ,[object Object],[object Object],[object Object],[object Object],[object Object],$_  ist eine besondere Variable...
Unsichtbare Variable ,[object Object],[object Object],[object Object],[object Object],[object Object],$_  kann unsichtbar werden!
Sind die denn völlig wahnsinnig?
Ja
Obfuscated Perl Contest ,[object Object]
Damian Conway ,[object Object],[object Object]
Damian Conway A less positional programming language There is no reason why programming languages could not also use inflexions, rather than position, to denote lexical roles.&quot; &quot;
Damian Conway A less positional programming language There is no reason why programming languages could not also use inflexions, rather than position, to denote lexical roles.
Damian Conway ,[object Object],[object Object],[object Object]
Damian Conway ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Perl Community ,[object Object],[object Object],[object Object],[object Object],[object Object]
Perl Community ,[object Object],[object Object],[object Object],[object Object]
Vermeiden ,[object Object],[object Object],[object Object],[object Object]
Perl für Profis ,[object Object],[object Object],[object Object],[object Object]
Perl Zukunft: Perl 5 ,[object Object],[object Object]
Perl 6 Entwicklungsprozess ,[object Object],[object Object],[object Object]
Perl 6  VM ,[object Object],[object Object],Parrot Python Perl 6 Perl 5  = Ponie
Perl 6 Features ,[object Object],[object Object],[object Object],[object Object]
Buchtipps ,[object Object],[object Object],[object Object],[object Object],[object Object]
Buchtipps ,[object Object],[object Object],[object Object],[object Object]
Buchtipps ,[object Object],[object Object],[object Object]
Buchtipps ,[object Object],[object Object],[object Object],[object Object]
Buchtipps ,[object Object],[object Object],[object Object]
Buchtipps ,[object Object],[object Object]
Viel Spass am Gerät

Más contenido relacionado

La actualidad más candente

P6kontext2014
P6kontext2014P6kontext2014
P6kontext2014lichtkind
 
XML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashXML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashStephan Schmidt
 
GE_: mein perl_Kurse vol.III
GE_: mein perl_Kurse vol.IIIGE_: mein perl_Kurse vol.III
GE_: mein perl_Kurse vol.IIIgiovanni Colombo
 
Devs@Home - Einführung in Go
Devs@Home - Einführung in GoDevs@Home - Einführung in Go
Devs@Home - Einführung in GoFrank Müller
 
GE_: mein perlsProgrammssprache Unterricht Vol.IV
GE_: mein perlsProgrammssprache Unterricht Vol.IVGE_: mein perlsProgrammssprache Unterricht Vol.IV
GE_: mein perlsProgrammssprache Unterricht Vol.IVgiovanni Colombo
 
Dynamische Websites mit XML
Dynamische Websites mit XMLDynamische Websites mit XML
Dynamische Websites mit XMLStephan Schmidt
 
Interprozesskommunikation mit PHP
Interprozesskommunikation mit PHPInterprozesskommunikation mit PHP
Interprozesskommunikation mit PHPStephan Schmidt
 
Linuxtools fuer Developer
Linuxtools fuer DeveloperLinuxtools fuer Developer
Linuxtools fuer DeveloperMayflower GmbH
 
Designpatterns in Ruby
Designpatterns in RubyDesignpatterns in Ruby
Designpatterns in Rubypfleidi
 
Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Qiong Wu
 
Battle of the Languages: Java und Python im Wettstreit beim Lösen von Program...
Battle of the Languages: Java und Python im Wettstreit beim Lösen von Program...Battle of the Languages: Java und Python im Wettstreit beim Lösen von Program...
Battle of the Languages: Java und Python im Wettstreit beim Lösen von Program...gedoplan
 
Coffee Backone Introduction
Coffee Backone IntroductionCoffee Backone Introduction
Coffee Backone IntroductionTino Isnich
 

La actualidad más candente (12)

P6kontext2014
P6kontext2014P6kontext2014
P6kontext2014
 
XML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashXML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit Flash
 
GE_: mein perl_Kurse vol.III
GE_: mein perl_Kurse vol.IIIGE_: mein perl_Kurse vol.III
GE_: mein perl_Kurse vol.III
 
Devs@Home - Einführung in Go
Devs@Home - Einführung in GoDevs@Home - Einführung in Go
Devs@Home - Einführung in Go
 
GE_: mein perlsProgrammssprache Unterricht Vol.IV
GE_: mein perlsProgrammssprache Unterricht Vol.IVGE_: mein perlsProgrammssprache Unterricht Vol.IV
GE_: mein perlsProgrammssprache Unterricht Vol.IV
 
Dynamische Websites mit XML
Dynamische Websites mit XMLDynamische Websites mit XML
Dynamische Websites mit XML
 
Interprozesskommunikation mit PHP
Interprozesskommunikation mit PHPInterprozesskommunikation mit PHP
Interprozesskommunikation mit PHP
 
Linuxtools fuer Developer
Linuxtools fuer DeveloperLinuxtools fuer Developer
Linuxtools fuer Developer
 
Designpatterns in Ruby
Designpatterns in RubyDesignpatterns in Ruby
Designpatterns in Ruby
 
Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0
 
Battle of the Languages: Java und Python im Wettstreit beim Lösen von Program...
Battle of the Languages: Java und Python im Wettstreit beim Lösen von Program...Battle of the Languages: Java und Python im Wettstreit beim Lösen von Program...
Battle of the Languages: Java und Python im Wettstreit beim Lösen von Program...
 
Coffee Backone Introduction
Coffee Backone IntroductionCoffee Backone Introduction
Coffee Backone Introduction
 

Destacado

Social Media in Studium und Lehre (Folien Dr. des. Eva-Christina Edinger)
Social Media in Studium und Lehre (Folien Dr. des. Eva-Christina Edinger)Social Media in Studium und Lehre (Folien Dr. des. Eva-Christina Edinger)
Social Media in Studium und Lehre (Folien Dr. des. Eva-Christina Edinger)e-teaching.org
 
Eröffnungspodium Opco12 - Fragebogen
Eröffnungspodium Opco12 - FragebogenEröffnungspodium Opco12 - Fragebogen
Eröffnungspodium Opco12 - Fragebogene-teaching.org
 
Wey-Han Tan: Seminareinfuehrung "Spielend Lernen?", WS2011
Wey-Han Tan: Seminareinfuehrung "Spielend Lernen?", WS2011Wey-Han Tan: Seminareinfuehrung "Spielend Lernen?", WS2011
Wey-Han Tan: Seminareinfuehrung "Spielend Lernen?", WS2011Wey-Han Tan
 
E-Learning-Trendforschung: Marc Göcks
E-Learning-Trendforschung: Marc GöcksE-Learning-Trendforschung: Marc Göcks
E-Learning-Trendforschung: Marc Göckse-teaching.org
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGTorsten Kleiber
 
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Dr. U...
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Dr. U...Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Dr. U...
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Dr. U...e-teaching.org
 
Der Arbeitsmarkt für Kulturmanager in Deutschland: Entwicklung der Qualifikat...
Der Arbeitsmarkt für Kulturmanager in Deutschland: Entwicklung der Qualifikat...Der Arbeitsmarkt für Kulturmanager in Deutschland: Entwicklung der Qualifikat...
Der Arbeitsmarkt für Kulturmanager in Deutschland: Entwicklung der Qualifikat...Christopher Buschow
 
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...Christopher Buschow
 
Fremdsprachendidaktik und Lerntechnologien
Fremdsprachendidaktik und LerntechnologienFremdsprachendidaktik und Lerntechnologien
Fremdsprachendidaktik und Lerntechnologiene-teaching.org
 
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...e-teaching.org
 
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Prof....
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Prof....Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Prof....
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Prof....e-teaching.org
 

Destacado (20)

FESTIVAL DE NADAL P5
FESTIVAL DE NADAL P5FESTIVAL DE NADAL P5
FESTIVAL DE NADAL P5
 
Webfonts im Jahr 2010
Webfonts im Jahr 2010Webfonts im Jahr 2010
Webfonts im Jahr 2010
 
Mediengerechtes Webdesign
Mediengerechtes WebdesignMediengerechtes Webdesign
Mediengerechtes Webdesign
 
Amazing Art
Amazing ArtAmazing Art
Amazing Art
 
Enterprise 2.0
Enterprise 2.0Enterprise 2.0
Enterprise 2.0
 
app-edemie
app-edemieapp-edemie
app-edemie
 
Social Media in Studium und Lehre (Folien Dr. des. Eva-Christina Edinger)
Social Media in Studium und Lehre (Folien Dr. des. Eva-Christina Edinger)Social Media in Studium und Lehre (Folien Dr. des. Eva-Christina Edinger)
Social Media in Studium und Lehre (Folien Dr. des. Eva-Christina Edinger)
 
Eröffnungspodium Opco12 - Fragebogen
Eröffnungspodium Opco12 - FragebogenEröffnungspodium Opco12 - Fragebogen
Eröffnungspodium Opco12 - Fragebogen
 
Wey-Han Tan: Seminareinfuehrung "Spielend Lernen?", WS2011
Wey-Han Tan: Seminareinfuehrung "Spielend Lernen?", WS2011Wey-Han Tan: Seminareinfuehrung "Spielend Lernen?", WS2011
Wey-Han Tan: Seminareinfuehrung "Spielend Lernen?", WS2011
 
E-Learning-Trendforschung: Marc Göcks
E-Learning-Trendforschung: Marc GöcksE-Learning-Trendforschung: Marc Göcks
E-Learning-Trendforschung: Marc Göcks
 
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AGQualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
Qualitätssicherung in ADF Projekten der IKB Deutschen Industriebank AG
 
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Dr. U...
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Dr. U...Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Dr. U...
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Dr. U...
 
Der Arbeitsmarkt für Kulturmanager in Deutschland: Entwicklung der Qualifikat...
Der Arbeitsmarkt für Kulturmanager in Deutschland: Entwicklung der Qualifikat...Der Arbeitsmarkt für Kulturmanager in Deutschland: Entwicklung der Qualifikat...
Der Arbeitsmarkt für Kulturmanager in Deutschland: Entwicklung der Qualifikat...
 
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
Fernsehen trifft Social Media - Neue Wege der Kommunikationspolitik am Beispi...
 
Green Meetings - How?
Green Meetings - How?Green Meetings - How?
Green Meetings - How?
 
Fremdsprachendidaktik und Lerntechnologien
Fremdsprachendidaktik und LerntechnologienFremdsprachendidaktik und Lerntechnologien
Fremdsprachendidaktik und Lerntechnologien
 
Nachhaltigkeit
NachhaltigkeitNachhaltigkeit
Nachhaltigkeit
 
Wedekind Ag Med PäD
Wedekind Ag Med PäDWedekind Ag Med PäD
Wedekind Ag Med PäD
 
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
Neue Lernorte an der Universität – das Projekt Mobile Lehre Hohenheim (Slides...
 
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Prof....
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Prof....Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Prof....
Mobiles Lernen” - ein Überblick über Szenarien und Technologien (Folien Prof....
 

Similar a Perl - die Taschenkettensäge unter den Programmiersprachen - Vortrag 2003

Wundertüte Perl
Wundertüte PerlWundertüte Perl
Wundertüte Perllichtkind
 
A fool with a tool - Scraping Basics
A fool with a tool - Scraping BasicsA fool with a tool - Scraping Basics
A fool with a tool - Scraping BasicsMarkus Uhl
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
Ruby On Rails Einführung
Ruby On Rails EinführungRuby On Rails Einführung
Ruby On Rails EinführungReinhold Weber
 
Creasoft - Windows powershell
Creasoft - Windows powershellCreasoft - Windows powershell
Creasoft - Windows powershellCreasoft AG
 
Scala - A Scalable Language
Scala - A Scalable LanguageScala - A Scalable Language
Scala - A Scalable Languagepfleidi
 
Perl 6 Regex und Grammars
Perl 6 Regex und GrammarsPerl 6 Regex und Grammars
Perl 6 Regex und Grammarslichtkind
 
Dancer Presentation FrOSCon 2010
Dancer Presentation FrOSCon 2010Dancer Presentation FrOSCon 2010
Dancer Presentation FrOSCon 2010Thomas Fahle
 
Dart (Teil I der Tour de Dart)
Dart (Teil I der Tour de Dart)Dart (Teil I der Tour de Dart)
Dart (Teil I der Tour de Dart)Nane Kratzke
 
Source Code Analyse - Ein praktikabler Ansatz
Source Code Analyse - Ein praktikabler AnsatzSource Code Analyse - Ein praktikabler Ansatz
Source Code Analyse - Ein praktikabler AnsatzMarc Ruef
 
Source-Code-Analyse – ein praktikabler Ansatz
Source-Code-Analyse – ein praktikabler AnsatzSource-Code-Analyse – ein praktikabler Ansatz
Source-Code-Analyse – ein praktikabler AnsatzDigicomp Academy AG
 
Log::Log4perl qw/:easy/
Log::Log4perl qw/:easy/Log::Log4perl qw/:easy/
Log::Log4perl qw/:easy/Thomas Fahle
 
JAX 2024: Go in der Praxis einsetzen
JAX 2024: Go in der Praxis einsetzenJAX 2024: Go in der Praxis einsetzen
JAX 2024: Go in der Praxis einsetzenJan Stamer
 

Similar a Perl - die Taschenkettensäge unter den Programmiersprachen - Vortrag 2003 (20)

Php Schulung
Php SchulungPhp Schulung
Php Schulung
 
Wundertüte Perl
Wundertüte PerlWundertüte Perl
Wundertüte Perl
 
Ruby on Rails SS09 03
Ruby on Rails SS09 03Ruby on Rails SS09 03
Ruby on Rails SS09 03
 
A fool with a tool - Scraping Basics
A fool with a tool - Scraping BasicsA fool with a tool - Scraping Basics
A fool with a tool - Scraping Basics
 
Ruby on Rails SS09 04
Ruby on Rails SS09 04Ruby on Rails SS09 04
Ruby on Rails SS09 04
 
Web Entwicklung mit PHP - Teil 2
Web Entwicklung mit PHP - Teil 2Web Entwicklung mit PHP - Teil 2
Web Entwicklung mit PHP - Teil 2
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Ruby On Rails Einführung
Ruby On Rails EinführungRuby On Rails Einführung
Ruby On Rails Einführung
 
Creasoft - Windows powershell
Creasoft - Windows powershellCreasoft - Windows powershell
Creasoft - Windows powershell
 
Scala - A Scalable Language
Scala - A Scalable LanguageScala - A Scalable Language
Scala - A Scalable Language
 
Perl 6 Regex und Grammars
Perl 6 Regex und GrammarsPerl 6 Regex und Grammars
Perl 6 Regex und Grammars
 
Dancer Presentation FrOSCon 2010
Dancer Presentation FrOSCon 2010Dancer Presentation FrOSCon 2010
Dancer Presentation FrOSCon 2010
 
Ruby, Ruby, Ruby!
Ruby, Ruby, Ruby!Ruby, Ruby, Ruby!
Ruby, Ruby, Ruby!
 
Dart (Teil I der Tour de Dart)
Dart (Teil I der Tour de Dart)Dart (Teil I der Tour de Dart)
Dart (Teil I der Tour de Dart)
 
Haxe & NME
Haxe & NMEHaxe & NME
Haxe & NME
 
Source Code Analyse - Ein praktikabler Ansatz
Source Code Analyse - Ein praktikabler AnsatzSource Code Analyse - Ein praktikabler Ansatz
Source Code Analyse - Ein praktikabler Ansatz
 
Source-Code-Analyse – ein praktikabler Ansatz
Source-Code-Analyse – ein praktikabler AnsatzSource-Code-Analyse – ein praktikabler Ansatz
Source-Code-Analyse – ein praktikabler Ansatz
 
Test
TestTest
Test
 
Log::Log4perl qw/:easy/
Log::Log4perl qw/:easy/Log::Log4perl qw/:easy/
Log::Log4perl qw/:easy/
 
JAX 2024: Go in der Praxis einsetzen
JAX 2024: Go in der Praxis einsetzenJAX 2024: Go in der Praxis einsetzen
JAX 2024: Go in der Praxis einsetzen
 

Más de Brigitte Jellinek

Betriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBetriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBrigitte Jellinek
 
PHP at University - is it even possible?
PHP at University - is it even possible?PHP at University - is it even possible?
PHP at University - is it even possible?Brigitte Jellinek
 
Railsgirls: Where did my HTML and CSS go
Railsgirls: Where did my HTML and CSS goRailsgirls: Where did my HTML and CSS go
Railsgirls: Where did my HTML and CSS goBrigitte Jellinek
 
Regular Expressions - eine Einführung
Regular Expressions - eine EinführungRegular Expressions - eine Einführung
Regular Expressions - eine EinführungBrigitte Jellinek
 
ditact it summer school 2010 kurzvorstellung
ditact it summer school 2010 kurzvorstellungditact it summer school 2010 kurzvorstellung
ditact it summer school 2010 kurzvorstellungBrigitte Jellinek
 
Master Studiengang Multimediaart an der Fachhochschule Salzburg
Master Studiengang Multimediaart an der Fachhochschule SalzburgMaster Studiengang Multimediaart an der Fachhochschule Salzburg
Master Studiengang Multimediaart an der Fachhochschule SalzburgBrigitte Jellinek
 
Bachelor Multimediaart an der Fachhochschule Salzburg
Bachelor Multimediaart an der Fachhochschule SalzburgBachelor Multimediaart an der Fachhochschule Salzburg
Bachelor Multimediaart an der Fachhochschule SalzburgBrigitte Jellinek
 

Más de Brigitte Jellinek (9)

Betriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBetriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der Praxis
 
PHP at University - is it even possible?
PHP at University - is it even possible?PHP at University - is it even possible?
PHP at University - is it even possible?
 
Railsgirls: Where did my HTML and CSS go
Railsgirls: Where did my HTML and CSS goRailsgirls: Where did my HTML and CSS go
Railsgirls: Where did my HTML and CSS go
 
Regular Expressions - eine Einführung
Regular Expressions - eine EinführungRegular Expressions - eine Einführung
Regular Expressions - eine Einführung
 
ditact it summer school 2010 kurzvorstellung
ditact it summer school 2010 kurzvorstellungditact it summer school 2010 kurzvorstellung
ditact it summer school 2010 kurzvorstellung
 
Master Studiengang Multimediaart an der Fachhochschule Salzburg
Master Studiengang Multimediaart an der Fachhochschule SalzburgMaster Studiengang Multimediaart an der Fachhochschule Salzburg
Master Studiengang Multimediaart an der Fachhochschule Salzburg
 
Bachelor Multimediaart an der Fachhochschule Salzburg
Bachelor Multimediaart an der Fachhochschule SalzburgBachelor Multimediaart an der Fachhochschule Salzburg
Bachelor Multimediaart an der Fachhochschule Salzburg
 
jQuery Kurz-Intro
jQuery Kurz-IntrojQuery Kurz-Intro
jQuery Kurz-Intro
 
Why use Perl?
Why use Perl?Why use Perl?
Why use Perl?
 

Perl - die Taschenkettensäge unter den Programmiersprachen - Vortrag 2003

  • 1. Perl die Taschenkettensäge unter den Programmiersprachen Vortrag von Brigitte Jellinek, 18C3 19C3 if 2003
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Weniger Aufwand, mehr Wirkung veraltet, aber trotzdem beeindruckend
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Von x zu Perl
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. public class HelloWorld { public static void main( String args[]) { System.out.print ln ( &quot;Hello World&quot;); } }
  • 37. print &quot;Hello World&quot;;
  • 38.
  • 39.
  • 40. <?php / / gehört zu Foo $a = 10; $b = 20; go(); // gehört zu Bar $bar_a = 42; $bar_b = 23; bar_go(); ?>
  • 41. package Foo; $a = 10; $b = 20; go(); package Bar; $a = 42; $b = 23; go(); print $Foo::a; print $Foo::b; Foo::go();
  • 42.
  • 43.
  • 44. Neu in Perl: RegExp $text = &quot;Voldemort besitzt den zweiten Zauberstab, der eine Phönixfeder enthält.&quot;; print &quot;Vorher: $text <br>&quot;; $text =~ s/Voldemort/Du weisst schon wer/g; print &quot;Nachher: $text <br>&quot;; if ( $text =~ m/Zauberstab/ ) { print &quot;Zauberstab gefunden!&quot;; }
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. TMTOWTDI print &quot;hallo&quot;; # funktion ohne klammer print (&quot;hallo&quot;); # funktion mit klammer # auch mehrere funktionen: reverse sort keys %hash;
  • 55. TMTOWTDI print &quot;ein Anf-z. amp;quot; in meinem string&quot;; print 'ein Anf-z. &quot; in meinem string'; print qq{zwei ' Anf-z. &quot; in meinem string}; print qq/zwei ' Anf-z. &quot; in meinem string/; print qq|zwei ' Anf-z. &quot; in meinem string|; $text =~ m/gesucht/; $text =~ m|gesucht|; $text =~ m=gesucht=; $text =~ m(gesucht);
  • 56.
  • 57. Magie: Programme werden immer kürzer # Datei öffnen (mit Fehlerbehandlung) $OK = open(HANDLE, &quot;datei.txt&quot;); if ( not $OK ) { die &quot;Problem beim lesen der Datei: $!&quot;; }
  • 58. Magie: Programme werden immer kürzer # Datei öffnen (mit Fehlerbehandlung) $OK = open(HANDLE, &quot;datei.txt&quot;); unless ( $OK ) { die &quot;Problem beim lesen der Date: $!&quot;; } unless ist if not
  • 59. Magie: Programme werden immer kürzer # Datei öffnen (mit Fehlerbehandlung) $OK = open(HANDLE, &quot;datei.txt&quot;); die &quot;Problem beim lesen der Date: $!&quot; unless $OK; Bedingung als &quot;Nachsatz&quot;
  • 60. Magie: Programme werden immer kürzer # Datei öffnen (mit Fehlerbehandlung) open(HANDLE, &quot;datei.txt&quot;) or die &quot;Problem beim lesen der Date: $!&quot; Wie im Deutschen: friss oder stirb!
  • 61.
  • 62.
  • 63.
  • 64. Sind die denn völlig wahnsinnig?
  • 65. Ja
  • 66.
  • 67.
  • 68. Damian Conway A less positional programming language There is no reason why programming languages could not also use inflexions, rather than position, to denote lexical roles.&quot; &quot;
  • 69. Damian Conway A less positional programming language There is no reason why programming languages could not also use inflexions, rather than position, to denote lexical roles.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86. Viel Spass am Gerät