SlideShare ist ein Scribd-Unternehmen logo
1 von 82
Downloaden Sie, um offline zu lesen
Marc Logghe,[object Object]
Perl,[object Object],“A script is what you give an actor, but a program is what you give an audience.”,[object Object]
Goals,[object Object],Perl Positioning System: find your way in the Perl World,[object Object],Write Once, Use Many Times,[object Object],Object Oriented Perl,[object Object],Consumer,[object Object],Developer,[object Object],Thou shalt not be afraid of the Bioperl Beast,[object Object]
Marcs (bio)perl course
Agenda Day1,[object Object],Perl refresher,[object Object],Scalars,[object Object],Arrays and lists,[object Object],Hashes,[object Object],Subroutines and functions,[object Object],Perldoc,[object Object],Creating and running a Perl script,[object Object],References and advanced data structures,[object Object],Packages and modules,[object Object],Objects, (multiple) inheritance, polymorphism,[object Object]
Agenda Day 2,[object Object],What is bioperl ?,[object Object],Taming the Bioperl Beast,[object Object],Finding modules,[object Object],Finding methods,[object Object],Data::Dumper,[object Object],Sequence processing,[object Object],One image says more than 1000 words,[object Object]
Variables,[object Object],Data of any type may be stored within three basic types of variables:,[object Object],Scalar (strings, numbers, references),[object Object],Array (aka list but not quite the same),[object Object],Hash (aka associative array),[object Object],Variable names are always preceded by a “dereferencing symbol” or prefix. If needed: {},[object Object],$ - Scalar variables,[object Object],@ - List variables,[object Object],% - Associative array aka hash variables,[object Object]
Variables,[object Object],You do NOT have to ,[object Object],Declare the variable before using it,[object Object],Define the variable’s data type,[object Object],Allocate memory for new data values,[object Object]
Scalar variables,[object Object],Scalar variable stores a string, a number, a character, a reference, undef,[object Object],$name, ${name}, ${‘name’},[object Object],More magic: $_,[object Object]
Array variables,[object Object],Array variable stores a list of scalars,[object Object],@name, @{name}, @{‘name’},[object Object],Index,[object Object],Map: index => scalar value,[object Object],zero-indexed (distance from start),[object Object]
Array variables,[object Object],List assignment:,[object Object],Individual assignment: $count[2] = 42,[object Object],Individual acces: print $count[2],[object Object],Special variable $#<array name>,[object Object],Scalar context,[object Object],@count = (1, 2, 3, 4, 5);,[object Object],@count = (‘apple’, ‘bat’, ‘cat’);,[object Object],@count2 = @count;,[object Object]
Array variables	,[object Object],Access multiple values via array slice:,[object Object],Assign multiple values via array slice:,[object Object],print @array[3,2,4,1,0,-1];,[object Object],@array[3,2,4,1,0,-1] = @new_values;,[object Object]
Lists,[object Object],List = temporary sequence of comma separated values usually in () or result of qw operator,[object Object],Array = container for a list,[object Object],Use:,[object Object],Array initialization,[object Object],Extract values from array,[object Object],my @array = qw/blood sweat tears/;,[object Object],my ($var1, $var2[42], $var3, @var4) = @args;,[object Object],my ($var5, $var6) = @args;,[object Object]
Lists,[object Object],List flattening,[object Object],Remember: each element of list must be a scalar, not another list,[object Object],=> NOT hierarchical list of 3 elements,[object Object],[object Object],Individual access and slicing cf. arrays,[object Object],my @vehicles = (‘truck’, @cars, (‘tank’,’jeep’));,[object Object],my @vehicles = (‘truck’, @cars, (‘tank’,’jeep’))[2,-1];,[object Object]
Hash variables,[object Object],Hash variables are denoted by the % dereferencing symbol.,[object Object],Hash variables is a list of key-value pairs,[object Object],Both keys and values must be scalar,[object Object],Notice the ‘=>’ aka ‘quotifying comma’,[object Object],my %fruit_color = ("apple", "red", "banana", "yellow");,[object Object],my %fruit_color = (,[object Object],        apple  => "red",,[object Object],        banana => "yellow",,[object Object],    );,[object Object]
Hash variables,[object Object],Individual access: $hash{key},[object Object],Access multiple values via slice:,[object Object],Assign multiple values via slice:,[object Object],@slice = @hash{‘key2’,’key23’,’key4’} ,[object Object],@hash{‘key2’,’key23’,’key4’} = @new_values; ,[object Object]
Non data types,[object Object],Filehandle,[object Object],There are several predefined filehandles, including STDIN, STDOUT, STDERR and DATA (default opened).,[object Object],No prefix,[object Object],Code value aka subroutine,[object Object],Dereferencing symbol “&”,[object Object]
Marcs (bio)perl course
Subroutines,[object Object],We can reuse a segment of Perl code by placing it within a subroutine.,[object Object],The subroutine is defined using the sub keyword and a name (= variable name !!).,[object Object],The subroutine body is defined by placing code statements within the {} code block symbols.,[object Object],sub MySubroutine{,[object Object],    #Perl code goes here.,[object Object],    my @args = @_;,[object Object],},[object Object]
Subroutines,[object Object],To call a subroutine, prepend the name with the & symbol:,[object Object],&MySubroutine; # w/o arguments,[object Object],Or:,[object Object],MySubroutine(); # with or w/o arguments,[object Object]
Subroutines,[object Object],Arguments in underscore array variable (@_),[object Object],List flattening !!,[object Object],my @results = MySubroutine(@arg1, ‘arg2’, (‘arg3’, ‘arg4’));,[object Object],sub MySubroutine{,[object Object],    #Perl code goes here.,[object Object],    my ($thingy, @args) = @_;,[object Object],},[object Object]
Subroutines,[object Object],Return value,[object Object],Nothing,[object Object],Scalar value,[object Object],List value,[object Object],Return value,[object Object],Explicit with return function,[object Object],Implicit: value of the last statement,[object Object],sub MySubroutine{,[object Object],    #Perl code goes here.,[object Object],    my ($thingy, @args) = @_;,[object Object],do_something(@args);,[object Object],},[object Object]
Subroutines,[object Object],Calling contexts,[object Object],Void,[object Object],Scalar,[object Object],List,[object Object],wantarray function,[object Object],Void =>  undef,[object Object],Scalar => 0,[object Object],List => 1,[object Object],getFiles($dir);,[object Object],my $num = getFiles($dir);,[object Object],my @files = getFiles($dir);,[object Object]
Functions and operators ,[object Object], Built-in routines,[object Object],Function,[object Object],Arguments at right hand side,[object Object],Sensible name (defined, open, print, ...),[object Object]
Functions,[object Object],Perl provides a rich set of built-in functions to help you perform common tasks.,[object Object],Several categories of useful built-in function include,[object Object],Arithmetic functions (sqrt, sin, … ),[object Object],List functions (push, chomp, … ),[object Object],String functions (length, substr, … ),[object Object],Existance functions (defined, undef),[object Object]
Array functions,[object Object],Array as queue: push/shift (FIFO),[object Object],Array as stack: push/pop (LIFO),[object Object],@row1,[object Object],push,[object Object],shift,[object Object],1,[object Object],2,[object Object],3,[object Object],unshift,[object Object],pop,[object Object]
List functions,[object Object],chomp: remove newline from every element in the list,[object Object],map: kind of loop without escape, every element ($_) is ‘processed’,[object Object],grep: kind of filter,[object Object],sort ,[object Object],join,[object Object]
Hash functions,[object Object],keys: returns the hash keys in random order,[object Object],values: returns values of the hash in random order but same order as keys function call,[object Object],each: returns (key, value) pairs,[object Object],delete: remove a particular key (and associated value) from a hash ,[object Object]
Operators ,[object Object],Operator,[object Object],Complex and subtle (=,<>, <=>, ?:, ->,=>,...),[object Object],Symbolic name (+,<,>,&,!, ...),[object Object]
Operators,[object Object],Calling context,[object Object],Eg. assignment operator ‘=‘,[object Object],($item1, $item2) = @array;,[object Object],$item1 = @array;,[object Object]
Marcs (bio)perl course
perldoc,[object Object],Access to Perl’s documentation system,[object Object],Command line,[object Object],Web: http://perldoc.perl.org/,[object Object],Documentation overview: perldoc perl,[object Object],Function info:,[object Object],perldoc perlfunc,[object Object],perldoc -f <function name>,[object Object],Operator info: perldoc perlop,[object Object],Searching the FAQs: perldoc -q <FAQ keyword>,[object Object]
perldoc,[object Object],Looking up module info,[object Object],Documentation: perldoc <module>,[object Object],Installation path: perldoc -l <module>,[object Object],Source: perldoc -m <module>,[object Object],All installed modules: perldoc -q installed,[object Object]
perldoc,[object Object],Move around ,[object Object]
perldoc,[object Object],Searching ,[object Object]
Creating a script,[object Object],Text editor (vi, textpad, notepad++, ...),[object Object],IDE (Komodo, Eclipse, EMACS, Geany, ...),[object Object],See: www.perlide.org ,[object Object],Shebang (not for modules),[object Object],#!/usr/bin/perl,[object Object]
Executing a script,[object Object],Command line,[object Object],Windows,[object Object],.pl extension,[object Object],*NIX,[object Object],Shebang line,[object Object],chmod +x script,[object Object],./script,[object Object]
Executing a script,[object Object],Geany IDE,[object Object]
Marcs (bio)perl course
References(and referents),[object Object],A reference is a special scalar value which “refers to” or “points to” any value.,[object Object],A variable name is one kind of reference that you are already familiar with. It’s a given name.,[object Object],Reference is a kind of private, internal, computer generated name,[object Object],A referent is the value that the reference is pointing to,[object Object]
Creating References	,[object Object],Method 1: references to variables are created by using the backslash( operator.,[object Object],$name = ‘bioperl’;,[object Object],	$reference = name;,[object Object],	$array_reference = array_name;,[object Object],	$hash_reference = hash_name;,[object Object],	$subroutine_ref = amp;sub_name;,[object Object]
Creating References	,[object Object],Method 2:,[object Object],[ ITEMS ] makes a new, anonymous array and returns a reference to that array.,[object Object],{ ITEMS } makes a new, anonymous hash, and returns a reference to that hash,[object Object],my $array_ref = [ 1, ‘foo’, undef, 13 ]; ,[object Object],my $hash_ref = {one => 1, two => 2};,[object Object]
Dereferencing a Reference	,[object Object],Use the appropriate dereferencing symbol,[object Object],Scalar: $,[object Object],Array: @,[object Object],Hash: %,[object Object],Subroutine: &,[object Object]
Dereferencing a Reference	,[object Object],Remember $name, ${‘name’} ?,[object Object],Means: give me the scalar value where the variable ‘name’ is pointing to.,[object Object],A reference $reference ìs a name, so $$reference, ${$reference},[object Object],Means: give me the scalar value where the reference $reference is pointing to,[object Object]
Dereferencing a Reference	,[object Object],The arrow operator: ->,[object Object],Arrays and hashes,[object Object],Subroutines,[object Object],my $array_ref = [ 1, ‘foo’, undef, 13 ]; ,[object Object],my $hash_ref = {one => 1, two => 2};,[object Object],${$array_ref}[1] = ${$hash_ref}{‘two’},[object Object],# can be written as:,[object Object],$array_ref->[1] = $hash_ref->{two},[object Object],&{$sub_ref}($arg1,$arg2),[object Object],# can be written as:,[object Object],$sub_ref->($arg1, $arg2),[object Object]
Identifying a referent,[object Object],ref function,[object Object]
References,[object Object],Why do we need references ???,[object Object],Create complex data structures,[object Object],!! Arrays and hashes can only store scalar values ,[object Object],Pass arrays, hashes, subroutines, ... as arguments to subroutines and functions,[object Object],!! List flattening,[object Object]
Complex data structures	,[object Object],Remind:,[object Object],Reference is a scalar value,[object Object],Arrays and hashes are sets of scalar values,[object Object],In one go: ,[object Object],my $array_ref = [ 1, 2, 3 ];,[object Object],my $hash_ref = {one => 1, two => 2}; ,[object Object],my %data = (	arrayref => $array_ref,,[object Object],hash_ref => $hash_ref);,[object Object],my %data = (	arrayref => [ 1, 2, 3 ],,[object Object],hash_ref => {one => 1, two => 2} ,[object Object],			);,[object Object]
Complex data structures	,[object Object],Individual access,[object Object],my %data = (	arrayref => [ 1, 2, 3 ],,[object Object],hash_ref => {one => 1, ,[object Object],                          two => [‘a’,’b’]});,[object Object],How to access this value ?,[object Object],my $wanted_value = $data{hash_ref}->{two}->[1];,[object Object]
Complex data structures,[object Object],my @row1 = (1..3);,[object Object],my @row2 = (2,4,6);,[object Object],my @row3 = (3,6,9);,[object Object],my @rows = (row1,row2,row3);,[object Object],my $table = rows;,[object Object],@row1,[object Object],$table,[object Object],1,[object Object],2,[object Object],3,[object Object],@rows,[object Object],@row2,[object Object],2,[object Object],4,[object Object],6,[object Object],@row3,[object Object],3,[object Object],6,[object Object],9,[object Object]
Complex data structures,[object Object],my $table = [,[object Object],   [1, 2, 3],,[object Object],   [2, 4, 6],,[object Object],   [3, 6, 9],[object Object],];,[object Object],$table,[object Object],1,[object Object],2,[object Object],3,[object Object],2,[object Object],4,[object Object],6,[object Object],3,[object Object],6,[object Object],9,[object Object]
Complex data structures,[object Object],Individual access,[object Object],my $wanted_value = $table->[1]->[2];,[object Object],# shorter form:,[object Object],$wanted_value = $table->[1][2] ,[object Object],$table,[object Object],1,[object Object],2,[object Object],3,[object Object],2,[object Object],4,[object Object],6,[object Object],3,[object Object],6,[object Object],9,[object Object]
Packages and modules,[object Object],2 types of variables:,[object Object],Global aka package variables,[object Object],Lexical variables,[object Object]
Packages and modules,[object Object],Global / package variables,[object Object],Visible everywhere in every program,[object Object],You get the if you don’t say otherwise,[object Object],!! Autovivification,[object Object],Name has 2 parts: family name + given name,[object Object],Default family name is ‘main’.    $John is actually $main::John,[object Object],$Cleese::John has nothing to do with $Wayne::John,[object Object],Family name = package name,[object Object],$var1 = 42;,[object Object],print “$var1, “, ++$var2;,[object Object],# results in:,[object Object],42, 1,[object Object]
Marcs (bio)perl course
Packages and modules,[object Object],Lexical / private variables,[object Object],Explicitely declared as ,[object Object],Only visible within the boundaries of a code block or file.,[object Object],They cease to exist as soon as the program leaves the code block or the program ends,[object Object],The do not have a family name aka they do not belong to a package,[object Object],ALWAYS USE LEXICAL VARIABLES,[object Object],(except for subroutines ...),[object Object],my $var1 = 42;,[object Object],#!/usr/bin/perl,[object Object],use strict;,[object Object],my $var1 = 42;,[object Object]
Packages,[object Object],Wikipedia:,[object Object],Family where the (global!) variables (incl. subroutines) live (remember $John),[object Object],In general, a namespace is a container that provides context for the identifiers (variable names) it holds, and allows the disambiguation of homonym identifiers residing in different namespaces.,[object Object]
Packages,[object Object],Family has a:,[object Object],name, defined via package declaration,[object Object],House, block or blocks of code that follow the package declaration ,[object Object],package Bio::SeqIO::genbank;,[object Object],# welcome to the Bio::SeqIO::genbank family,[object Object],sub write_seq{},[object Object],package Bio::SeqIO::fasta;,[object Object],# welcome to the Bio::SeqIO::fasta family,[object Object],sub write_seq{},[object Object]
Packages,[object Object],Why do we need packages ???,[object Object],To organize code,[object Object],To improve maintainability,[object Object],To avoid name space collisions,[object Object]
Modules,[object Object],What ?,[object Object],A text file(with a .pm suffix) containing Perl source code, that can contain any number of namespaces. It must evaluate to a true value.,[object Object],Loading,[object Object],At compile time: use <module>,[object Object],At run time: require <expr>,[object Object],<expr> and <module>:compiler translates each double-colon '::' into a path separator and appends '.pm'.,[object Object],E.g. Data::Dumper yields Data/Dumper.pm,[object Object],use Data::Dumper;,[object Object],require Data::Dumper;,[object Object],require ‘my_file.pl’;,[object Object],require $class; ,[object Object]
Modules,[object Object],A module can contain multiple packages, but convention dictates that each module contains a package of the same name. ,[object Object],easy to quickly locate the code in any given package (perldoc –m <module>),[object Object],not obligatory !!,[object Object],A module name is unique,[object Object],1 to 1 mapping to file system !!,[object Object],Should start with capital letter,[object Object]
Module files,[object Object],Module files are stored in a subdirectory hierarchy that parallels the module name hierarchy.,[object Object],All module files must have an extension of .pm.,[object Object]
Modules,[object Object],Module path is relative. So, where is Perl searching for that module ?,[object Object],Possible modules roots,[object Object],@INC,[object Object],[]$ perldoc –V,[object Object],…,[object Object],@INC:,[object Object],    /etc/perl,[object Object],    /usr/local/lib/perl/5.10.1,[object Object],    /usr/local/share/perl/5.10.1,[object Object],    /usr/lib/perl5,[object Object],    /usr/share/perl5,[object Object],    /usr/lib/perl/5.10,[object Object],    /usr/share/perl/5.10,[object Object],    /usr/local/lib/site_perl,[object Object],    .,[object Object]
Modules,[object Object],Alternative module roots (perldoc -q library),[object Object],In script,[object Object],Command line ,[object Object],Environment,[object Object],use lib ‘/my/alternative/module/path’;,[object Object],[]$ perl -I/my/alternative/module/path script.pl,[object Object],export PERL5LIB=$PERL5LIB:/my/alternative/module/path,[object Object]
Modules,[object Object],Test/Speak.pm,[object Object],Test.pl,[object Object],package My::Package::Says::Hello;,[object Object],sub speak,[object Object],{,[object Object],  print __PACKAGE__, " says: 'Hello'";,[object Object],},[object Object],package My::Package::Says::Blah;,[object Object],sub speak,[object Object],{,[object Object],  print __PACKAGE__, " says: 'Blah'";,[object Object],},[object Object],1;,[object Object],#!/usr/bin/perl,[object Object],use strict;,[object Object],use Test::Speak;,[object Object],My::Package::Says::Hello>speak;,[object Object],My::Package::Says::Blah->speak;,[object Object]
Modules,[object Object],Why do we need modules???,[object Object],To organize packages into files/folders,[object Object],Code reuse (ne copy & paste !),[object Object],Module repository: CPAN,[object Object],http://search.cpan.org,[object Object],https://metacpan.org/,[object Object],Pragma,[object Object],Special module that influences the code (compilation),[object Object],Lowercase,[object Object],Lexically scoped,[object Object]
Modules,[object Object],Module information,[object Object],In standard distribution: perldoc perlmodlib,[object Object],Manually installed: perldoc perllocal,[object Object],All modules: perldoc –q installed,[object Object],Documentation: perldoc <module name>,[object Object],Location: perldoc –l <module name>,[object Object],Source: perldoc –m <module name>,[object Object]
Packages and Modules - Summary,[object Object],A package is a separate namespace within Perl code.,[object Object],A module can have more than one package defined within it.,[object Object],The default package is main.,[object Object],We can get to variables (and subroutines) within packages by using the fully qualified name,[object Object],To write a package, just write package <package name> where you want the package to start.,[object Object],Package declarations last until the end of the enclosing block, file or until the next package statement,[object Object],The require and use keywords can be used to import the contents of other files for use in a program.,[object Object],Files which are included must end with a true value.,[object Object],Perl looks for modules in a list of directories stored in @INC,[object Object],Module names map to the file system,[object Object]
Marcs (bio)perl course
Exercises,[object Object],Bioperl Training Exercise 1: perldoc,[object Object],Bioperl Training Exercise 2: thou shalt not forget,[object Object],Bioperl Training Exercise 3: arrays,[object Object],Bioperl Training Exercise 4: hashes,[object Object],Bioperl Training Exercise 5: packages and modules 1,[object Object],Bioperl Training Exercise 6: packages and modules 2,[object Object],Bioperl Training Exercise 7: complex data structures,[object Object]
Marcs (bio)perl course
Object Oriented Programming in Perl,[object Object],Why do we need objects and OOP ?,[object Object],It’s fun,[object Object],Code reuse,[object Object],Abstraction,[object Object]
Object Oriented Programming in Perl,[object Object],What is an object ?,[object Object],An object is a (complex) data structure representing a new, user defined type with a collection of behaviors (functions aka methods),[object Object],Collection of attributes,[object Object],Developer’s perspective: 3 little make rules,[object Object],To create a class, build a package,[object Object],To create a method, write a subroutine,[object Object],To create an object, bless a referent,[object Object]
Rule 1: To create a class, build a package,[object Object],Defining a class,[object Object],A class is simply a package with subroutines that function as methods. Class name = type = label = namespace,[object Object],package Cat;,[object Object],1;,[object Object]
Rule 2: To create a method, write a subroutine,[object Object],First argument of methods is always class name or object itself (or rather:  reference),[object Object],Subroutine call the OO way (method invocation  arrow operator),[object Object],package Cat;,[object Object],sub meow {,[object Object],  my $self = shift;,[object Object],  print __PACKAGE__ “ says: meow !”;,[object Object],},[object Object],1;,[object Object],Cat->meow;,[object Object],$cat->meow;,[object Object]
Rule 3: To create an object, bless a referent ,[object Object],‘Special’ method: constructor,[object Object],Any name will do, in most cases new,[object Object],Object can be anything, in most cases hash,[object Object],Reference to object is stored in variable,[object Object],bless,[object Object],Arguments: reference (+ class). Does not change !!,[object Object],Underlying referent is blessed (= typed, labelled),[object Object],Returns reference,[object Object],package Cat;,[object Object],sub new {,[object Object],  my ($class, @args) = @_;,[object Object],  my $self = { _name => $_args[0] };,[object Object],  bless $self, $class;,[object Object],},[object Object]
Objects,[object Object],Perl objects are data structures ( a collection of attributes).,[object Object],To create an object we have to take 3 rules into account:,[object Object],Classes are just packages,[object Object],Methods are just subroutines,[object Object],Blessing a referent creates an object,[object Object]
Objects,[object Object],Objects are passed around as references,[object Object],Calling an object method can be done using the method invocation arrow:,[object Object],Constructor functions in Perl are conventionally called new() and can be called by writing: ,[object Object],$object_ref->method(),[object Object],$object_ref = ClassName->new(),[object Object]
Inheritance,[object Object],Concept,[object Object],Way to extend functionality of a class by deriving a (more specific) sub-class from it,[object Object],In Perl:,[object Object],Way of specifying where to look for methods,[object Object],store the name of 1 or more classes in the package variable @ISA,[object Object],Multiple inheritance  !!,[object Object],package NorthAmericanCat;,[object Object],use Cat;,[object Object],@ISA = qw(Cat);,[object Object],package NorthAmericanCat;,[object Object],use Cat;,[object Object],use Animal;,[object Object],@ISA = qw(Cat Animal);,[object Object]
Inheritance,[object Object],UNIVERSAL, parent of all classes,[object Object],Predifined methods,[object Object],isa(‘<class name>’): check if the object inherits from a particular class,[object Object],can(‘<method name>’): check if <method name> is a callable method   ,[object Object]
Inheritance,[object Object],SUPER: superclass of the current package,[object Object],start looking in @ISA for a class that can() do_something,[object Object],explicitely call a method of a parental class,[object Object],often used by Bioperl to initialize object attributes,[object Object],$self->SUPER::do_something(),[object Object]
Polymorphism,[object Object],Concept,[object Object],methods defined in the base class will override methods defined in the parent classes,[object Object],same method has different behaviours,[object Object]

Weitere ähnliche Inhalte

Was ist angesagt? (18)

PHP array 1
PHP array 1PHP array 1
PHP array 1
 
Arrays in PHP
Arrays in PHPArrays in PHP
Arrays in PHP
 
Chap 3php array part1
Chap 3php array part1Chap 3php array part1
Chap 3php array part1
 
4.1 PHP Arrays
4.1 PHP Arrays4.1 PHP Arrays
4.1 PHP Arrays
 
DBIx::Class introduction - 2010
DBIx::Class introduction - 2010DBIx::Class introduction - 2010
DBIx::Class introduction - 2010
 
Data structure in perl
Data structure in perlData structure in perl
Data structure in perl
 
Scripting3
Scripting3Scripting3
Scripting3
 
Introduction to perl_lists
Introduction to perl_listsIntroduction to perl_lists
Introduction to perl_lists
 
Array in php
Array in phpArray in php
Array in php
 
03 Php Array String Functions
03 Php Array String Functions03 Php Array String Functions
03 Php Array String Functions
 
Array,lists and hashes in perl
Array,lists and hashes in perlArray,lists and hashes in perl
Array,lists and hashes in perl
 
Hashes
HashesHashes
Hashes
 
Working with text, Regular expressions
Working with text, Regular expressionsWorking with text, Regular expressions
Working with text, Regular expressions
 
Intermediate Perl
Intermediate PerlIntermediate Perl
Intermediate Perl
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
GDI Seattle - Intro to JavaScript Class 2
GDI Seattle - Intro to JavaScript Class 2GDI Seattle - Intro to JavaScript Class 2
GDI Seattle - Intro to JavaScript Class 2
 
Array
ArrayArray
Array
 
Lists
ListsLists
Lists
 

Andere mochten auch

تحليل محتوى عاشر تك الانظمة
تحليل محتوى عاشر تك الانظمةتحليل محتوى عاشر تك الانظمة
تحليل محتوى عاشر تك الانظمةRola Attia
 
Programming for biologists
Programming for biologistsProgramming for biologists
Programming for biologistsjigma
 
BioPerl: Developming Open Source Software
BioPerl: Developming Open Source SoftwareBioPerl: Developming Open Source Software
BioPerl: Developming Open Source SoftwareJason Stajich
 
PERL- Bioperl modules
PERL- Bioperl modulesPERL- Bioperl modules
PERL- Bioperl modulesNixon Mendez
 
Bioinformatics and BioPerl
Bioinformatics and BioPerlBioinformatics and BioPerl
Bioinformatics and BioPerlJason Stajich
 
Fields bosc2010 bio_perl
Fields bosc2010 bio_perlFields bosc2010 bio_perl
Fields bosc2010 bio_perlBOSC 2010
 
Sant jordi
Sant jordiSant jordi
Sant jordieuragan
 
Presentación1
Presentación1Presentación1
Presentación1escuela5
 
Smau milano 2013 fratepietro vaciago
Smau milano 2013 fratepietro vaciagoSmau milano 2013 fratepietro vaciago
Smau milano 2013 fratepietro vaciagoSMAU
 
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIMEXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIMroy mendez
 
eChaty magazín Jaro 2013
eChaty magazín Jaro 2013eChaty magazín Jaro 2013
eChaty magazín Jaro 2013eChaty.cz
 
Trabajo Práctico de Periodismo - noticia
Trabajo Práctico de Periodismo - noticiaTrabajo Práctico de Periodismo - noticia
Trabajo Práctico de Periodismo - noticiacamitooooo
 
Ultimos avances tecnológicos
Ultimos avances tecnológicosUltimos avances tecnológicos
Ultimos avances tecnológicosbrianxhp
 
Social Media for CEOs - The External Opportunity
Social Media for CEOs - The External OpportunitySocial Media for CEOs - The External Opportunity
Social Media for CEOs - The External OpportunityOur Social Times
 
Guardia Civil
Guardia CivilGuardia Civil
Guardia CivilDraco703
 
[기아워캠9기] 정연지 활동결과보고_독일 IJGD4324
[기아워캠9기] 정연지 활동결과보고_독일 IJGD4324[기아워캠9기] 정연지 활동결과보고_독일 IJGD4324
[기아워캠9기] 정연지 활동결과보고_독일 IJGD4324kiaworkcamp
 
Brainsprouting- Don Inservice 2016
Brainsprouting- Don Inservice 2016Brainsprouting- Don Inservice 2016
Brainsprouting- Don Inservice 2016Erica Fearnall
 
Weathering Market Storms
Weathering Market StormsWeathering Market Storms
Weathering Market Stormsdkeogh
 
Natalija Popović - Budućnost kao imperativ, Controlling magazin 06
Natalija Popović - Budućnost kao imperativ, Controlling magazin 06Natalija Popović - Budućnost kao imperativ, Controlling magazin 06
Natalija Popović - Budućnost kao imperativ, Controlling magazin 06Menadžment Centar Beograd
 

Andere mochten auch (20)

تحليل محتوى عاشر تك الانظمة
تحليل محتوى عاشر تك الانظمةتحليل محتوى عاشر تك الانظمة
تحليل محتوى عاشر تك الانظمة
 
Programming for biologists
Programming for biologistsProgramming for biologists
Programming for biologists
 
BioPerl: Developming Open Source Software
BioPerl: Developming Open Source SoftwareBioPerl: Developming Open Source Software
BioPerl: Developming Open Source Software
 
PERL- Bioperl modules
PERL- Bioperl modulesPERL- Bioperl modules
PERL- Bioperl modules
 
Bioinformatics and BioPerl
Bioinformatics and BioPerlBioinformatics and BioPerl
Bioinformatics and BioPerl
 
Fields bosc2010 bio_perl
Fields bosc2010 bio_perlFields bosc2010 bio_perl
Fields bosc2010 bio_perl
 
Sant jordi
Sant jordiSant jordi
Sant jordi
 
Presentación1
Presentación1Presentación1
Presentación1
 
Smau milano 2013 fratepietro vaciago
Smau milano 2013 fratepietro vaciagoSmau milano 2013 fratepietro vaciago
Smau milano 2013 fratepietro vaciago
 
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIMEXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
EXAMEN PRÁCTICO DE COMPUTACIÓN 2DO BIM
 
eChaty magazín Jaro 2013
eChaty magazín Jaro 2013eChaty magazín Jaro 2013
eChaty magazín Jaro 2013
 
Trabajo Práctico de Periodismo - noticia
Trabajo Práctico de Periodismo - noticiaTrabajo Práctico de Periodismo - noticia
Trabajo Práctico de Periodismo - noticia
 
Ultimos avances tecnológicos
Ultimos avances tecnológicosUltimos avances tecnológicos
Ultimos avances tecnológicos
 
Social Media for CEOs - The External Opportunity
Social Media for CEOs - The External OpportunitySocial Media for CEOs - The External Opportunity
Social Media for CEOs - The External Opportunity
 
Guardia Civil
Guardia CivilGuardia Civil
Guardia Civil
 
[기아워캠9기] 정연지 활동결과보고_독일 IJGD4324
[기아워캠9기] 정연지 활동결과보고_독일 IJGD4324[기아워캠9기] 정연지 활동결과보고_독일 IJGD4324
[기아워캠9기] 정연지 활동결과보고_독일 IJGD4324
 
Brainsprouting- Don Inservice 2016
Brainsprouting- Don Inservice 2016Brainsprouting- Don Inservice 2016
Brainsprouting- Don Inservice 2016
 
Weathering Market Storms
Weathering Market StormsWeathering Market Storms
Weathering Market Storms
 
Yo Misma
Yo MismaYo Misma
Yo Misma
 
Natalija Popović - Budućnost kao imperativ, Controlling magazin 06
Natalija Popović - Budućnost kao imperativ, Controlling magazin 06Natalija Popović - Budućnost kao imperativ, Controlling magazin 06
Natalija Popović - Budućnost kao imperativ, Controlling magazin 06
 

Ähnlich wie Marcs (bio)perl course

Chap1introppt2php(finally done)
Chap1introppt2php(finally done)Chap1introppt2php(finally done)
Chap1introppt2php(finally done)monikadeshmane
 
Introduction to Perl - Day 2
Introduction to Perl - Day 2Introduction to Perl - Day 2
Introduction to Perl - Day 2Dave Cross
 
Underscore.js
Underscore.jsUnderscore.js
Underscore.jstimourian
 
Php Chapter 2 3 Training
Php Chapter 2 3 TrainingPhp Chapter 2 3 Training
Php Chapter 2 3 TrainingChris Chubb
 
WordCamp Portland 2018: PHP for WordPress
WordCamp Portland 2018: PHP for WordPressWordCamp Portland 2018: PHP for WordPress
WordCamp Portland 2018: PHP for WordPressAlena Holligan
 
Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...
Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...
Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...Dhivyaa C.R
 
Lecture 5 array in PHP.pptxLecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Lecture 5 array in PHP.pptxLecture 10 CSS part 2.pptxvvvvvvvvvvvvvvLecture 5 array in PHP.pptxLecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Lecture 5 array in PHP.pptxLecture 10 CSS part 2.pptxvvvvvvvvvvvvvvZahouAmel1
 
9780538745840 ppt ch06
9780538745840 ppt ch069780538745840 ppt ch06
9780538745840 ppt ch06Terry Yoast
 
PHP Conference Asia 2016
PHP Conference Asia 2016PHP Conference Asia 2016
PHP Conference Asia 2016Britta Alex
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perlworr1244
 
Php tips-and-tricks4128
Php tips-and-tricks4128Php tips-and-tricks4128
Php tips-and-tricks4128PrinceGuru MS
 
PHP Functions & Arrays
PHP Functions & ArraysPHP Functions & Arrays
PHP Functions & ArraysHenry Osborne
 

Ähnlich wie Marcs (bio)perl course (20)

Chap1introppt2php(finally done)
Chap1introppt2php(finally done)Chap1introppt2php(finally done)
Chap1introppt2php(finally done)
 
Chapter 2 wbp.pptx
Chapter 2 wbp.pptxChapter 2 wbp.pptx
Chapter 2 wbp.pptx
 
php AND MYSQL _ppt.pdf
php AND MYSQL _ppt.pdfphp AND MYSQL _ppt.pdf
php AND MYSQL _ppt.pdf
 
Php Tutorials for Beginners
Php Tutorials for BeginnersPhp Tutorials for Beginners
Php Tutorials for Beginners
 
Introduction to Perl - Day 2
Introduction to Perl - Day 2Introduction to Perl - Day 2
Introduction to Perl - Day 2
 
Php & my sql
Php & my sqlPhp & my sql
Php & my sql
 
Underscore.js
Underscore.jsUnderscore.js
Underscore.js
 
Php Chapter 2 3 Training
Php Chapter 2 3 TrainingPhp Chapter 2 3 Training
Php Chapter 2 3 Training
 
WordCamp Portland 2018: PHP for WordPress
WordCamp Portland 2018: PHP for WordPressWordCamp Portland 2018: PHP for WordPress
WordCamp Portland 2018: PHP for WordPress
 
Arrays in php
Arrays in phpArrays in php
Arrays in php
 
Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...
Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...
Regular expressions, Session and Cookies by Dr.C.R.Dhivyaa Kongu Engineering ...
 
UNIT IV (4).pptx
UNIT IV (4).pptxUNIT IV (4).pptx
UNIT IV (4).pptx
 
Introduction to Perl and BioPerl
Introduction to Perl and BioPerlIntroduction to Perl and BioPerl
Introduction to Perl and BioPerl
 
Lecture 5 array in PHP.pptxLecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Lecture 5 array in PHP.pptxLecture 10 CSS part 2.pptxvvvvvvvvvvvvvvLecture 5 array in PHP.pptxLecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
Lecture 5 array in PHP.pptxLecture 10 CSS part 2.pptxvvvvvvvvvvvvvv
 
9780538745840 ppt ch06
9780538745840 ppt ch069780538745840 ppt ch06
9780538745840 ppt ch06
 
PHP Conference Asia 2016
PHP Conference Asia 2016PHP Conference Asia 2016
PHP Conference Asia 2016
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
Php tips-and-tricks4128
Php tips-and-tricks4128Php tips-and-tricks4128
Php tips-and-tricks4128
 
Training on php by cyber security infotech (csi)
Training on  php by cyber security infotech (csi)Training on  php by cyber security infotech (csi)
Training on php by cyber security infotech (csi)
 
PHP Functions & Arrays
PHP Functions & ArraysPHP Functions & Arrays
PHP Functions & Arrays
 

Mehr von BITS

RNA-seq for DE analysis: detecting differential expression - part 5
RNA-seq for DE analysis: detecting differential expression - part 5RNA-seq for DE analysis: detecting differential expression - part 5
RNA-seq for DE analysis: detecting differential expression - part 5BITS
 
RNA-seq for DE analysis: extracting counts and QC - part 4
RNA-seq for DE analysis: extracting counts and QC - part 4RNA-seq for DE analysis: extracting counts and QC - part 4
RNA-seq for DE analysis: extracting counts and QC - part 4BITS
 
RNA-seq for DE analysis: the biology behind observed changes - part 6
RNA-seq for DE analysis: the biology behind observed changes - part 6RNA-seq for DE analysis: the biology behind observed changes - part 6
RNA-seq for DE analysis: the biology behind observed changes - part 6BITS
 
RNA-seq: analysis of raw data and preprocessing - part 2
RNA-seq: analysis of raw data and preprocessing - part 2RNA-seq: analysis of raw data and preprocessing - part 2
RNA-seq: analysis of raw data and preprocessing - part 2BITS
 
RNA-seq: general concept, goal and experimental design - part 1
RNA-seq: general concept, goal and experimental design - part 1RNA-seq: general concept, goal and experimental design - part 1
RNA-seq: general concept, goal and experimental design - part 1BITS
 
RNA-seq: Mapping and quality control - part 3
RNA-seq: Mapping and quality control - part 3RNA-seq: Mapping and quality control - part 3
RNA-seq: Mapping and quality control - part 3BITS
 
Productivity tips - Introduction to linux for bioinformatics
Productivity tips - Introduction to linux for bioinformaticsProductivity tips - Introduction to linux for bioinformatics
Productivity tips - Introduction to linux for bioinformaticsBITS
 
Text mining on the command line - Introduction to linux for bioinformatics
Text mining on the command line - Introduction to linux for bioinformaticsText mining on the command line - Introduction to linux for bioinformatics
Text mining on the command line - Introduction to linux for bioinformaticsBITS
 
The structure of Linux - Introduction to Linux for bioinformatics
The structure of Linux - Introduction to Linux for bioinformaticsThe structure of Linux - Introduction to Linux for bioinformatics
The structure of Linux - Introduction to Linux for bioinformaticsBITS
 
Managing your data - Introduction to Linux for bioinformatics
Managing your data - Introduction to Linux for bioinformaticsManaging your data - Introduction to Linux for bioinformatics
Managing your data - Introduction to Linux for bioinformaticsBITS
 
Introduction to Linux for bioinformatics
Introduction to Linux for bioinformaticsIntroduction to Linux for bioinformatics
Introduction to Linux for bioinformaticsBITS
 
BITS - Genevestigator to easily access transcriptomics data
BITS - Genevestigator to easily access transcriptomics dataBITS - Genevestigator to easily access transcriptomics data
BITS - Genevestigator to easily access transcriptomics dataBITS
 
BITS - Comparative genomics: the Contra tool
BITS - Comparative genomics: the Contra toolBITS - Comparative genomics: the Contra tool
BITS - Comparative genomics: the Contra toolBITS
 
BITS - Comparative genomics on the genome level
BITS - Comparative genomics on the genome levelBITS - Comparative genomics on the genome level
BITS - Comparative genomics on the genome levelBITS
 
BITS - Comparative genomics: gene family analysis
BITS - Comparative genomics: gene family analysisBITS - Comparative genomics: gene family analysis
BITS - Comparative genomics: gene family analysisBITS
 
BITS - Introduction to comparative genomics
BITS - Introduction to comparative genomicsBITS - Introduction to comparative genomics
BITS - Introduction to comparative genomicsBITS
 
BITS - Protein inference from mass spectrometry data
BITS - Protein inference from mass spectrometry dataBITS - Protein inference from mass spectrometry data
BITS - Protein inference from mass spectrometry dataBITS
 
BITS - Overview of sequence databases for mass spectrometry data analysis
BITS - Overview of sequence databases for mass spectrometry data analysisBITS - Overview of sequence databases for mass spectrometry data analysis
BITS - Overview of sequence databases for mass spectrometry data analysisBITS
 
BITS - Search engines for mass spec data
BITS - Search engines for mass spec dataBITS - Search engines for mass spec data
BITS - Search engines for mass spec dataBITS
 
BITS - Introduction to proteomics
BITS - Introduction to proteomicsBITS - Introduction to proteomics
BITS - Introduction to proteomicsBITS
 

Mehr von BITS (20)

RNA-seq for DE analysis: detecting differential expression - part 5
RNA-seq for DE analysis: detecting differential expression - part 5RNA-seq for DE analysis: detecting differential expression - part 5
RNA-seq for DE analysis: detecting differential expression - part 5
 
RNA-seq for DE analysis: extracting counts and QC - part 4
RNA-seq for DE analysis: extracting counts and QC - part 4RNA-seq for DE analysis: extracting counts and QC - part 4
RNA-seq for DE analysis: extracting counts and QC - part 4
 
RNA-seq for DE analysis: the biology behind observed changes - part 6
RNA-seq for DE analysis: the biology behind observed changes - part 6RNA-seq for DE analysis: the biology behind observed changes - part 6
RNA-seq for DE analysis: the biology behind observed changes - part 6
 
RNA-seq: analysis of raw data and preprocessing - part 2
RNA-seq: analysis of raw data and preprocessing - part 2RNA-seq: analysis of raw data and preprocessing - part 2
RNA-seq: analysis of raw data and preprocessing - part 2
 
RNA-seq: general concept, goal and experimental design - part 1
RNA-seq: general concept, goal and experimental design - part 1RNA-seq: general concept, goal and experimental design - part 1
RNA-seq: general concept, goal and experimental design - part 1
 
RNA-seq: Mapping and quality control - part 3
RNA-seq: Mapping and quality control - part 3RNA-seq: Mapping and quality control - part 3
RNA-seq: Mapping and quality control - part 3
 
Productivity tips - Introduction to linux for bioinformatics
Productivity tips - Introduction to linux for bioinformaticsProductivity tips - Introduction to linux for bioinformatics
Productivity tips - Introduction to linux for bioinformatics
 
Text mining on the command line - Introduction to linux for bioinformatics
Text mining on the command line - Introduction to linux for bioinformaticsText mining on the command line - Introduction to linux for bioinformatics
Text mining on the command line - Introduction to linux for bioinformatics
 
The structure of Linux - Introduction to Linux for bioinformatics
The structure of Linux - Introduction to Linux for bioinformaticsThe structure of Linux - Introduction to Linux for bioinformatics
The structure of Linux - Introduction to Linux for bioinformatics
 
Managing your data - Introduction to Linux for bioinformatics
Managing your data - Introduction to Linux for bioinformaticsManaging your data - Introduction to Linux for bioinformatics
Managing your data - Introduction to Linux for bioinformatics
 
Introduction to Linux for bioinformatics
Introduction to Linux for bioinformaticsIntroduction to Linux for bioinformatics
Introduction to Linux for bioinformatics
 
BITS - Genevestigator to easily access transcriptomics data
BITS - Genevestigator to easily access transcriptomics dataBITS - Genevestigator to easily access transcriptomics data
BITS - Genevestigator to easily access transcriptomics data
 
BITS - Comparative genomics: the Contra tool
BITS - Comparative genomics: the Contra toolBITS - Comparative genomics: the Contra tool
BITS - Comparative genomics: the Contra tool
 
BITS - Comparative genomics on the genome level
BITS - Comparative genomics on the genome levelBITS - Comparative genomics on the genome level
BITS - Comparative genomics on the genome level
 
BITS - Comparative genomics: gene family analysis
BITS - Comparative genomics: gene family analysisBITS - Comparative genomics: gene family analysis
BITS - Comparative genomics: gene family analysis
 
BITS - Introduction to comparative genomics
BITS - Introduction to comparative genomicsBITS - Introduction to comparative genomics
BITS - Introduction to comparative genomics
 
BITS - Protein inference from mass spectrometry data
BITS - Protein inference from mass spectrometry dataBITS - Protein inference from mass spectrometry data
BITS - Protein inference from mass spectrometry data
 
BITS - Overview of sequence databases for mass spectrometry data analysis
BITS - Overview of sequence databases for mass spectrometry data analysisBITS - Overview of sequence databases for mass spectrometry data analysis
BITS - Overview of sequence databases for mass spectrometry data analysis
 
BITS - Search engines for mass spec data
BITS - Search engines for mass spec dataBITS - Search engines for mass spec data
BITS - Search engines for mass spec data
 
BITS - Introduction to proteomics
BITS - Introduction to proteomicsBITS - Introduction to proteomics
BITS - Introduction to proteomics
 

Kürzlich hochgeladen

OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 

Kürzlich hochgeladen (20)

20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 

Marcs (bio)perl course

  • 1.
  • 2.
  • 3.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 70.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 84.

Hinweis der Redaktion

  1. Remember to wear it !
  2. Not often needed. Why might you need the braces ? String interpolation:$name = ‘Johnny’;Print “$name1”; # =&gt; nothing printedPrint “${name}1”; # =&gt; ‘Johnny1’
  3. If there are more variables in the list than elements in the array, the extra variables are assigned the udefined value. If there are fewer variables than array elements, the extra elements are ignored.Distributiviteit: my ()
  4. If there are more variables in the list than elements in the array, the extra variables are assigned the udefined value. If there are fewer variables than array elements, the extra elements are ignored.
  5. Comma is operator: flattens (‘concatenates’) lists/arrays
  6. Comma is operator: flattens (‘concatenates’) lists/arrays
  7. No parens needed: comma operators produce list
  8. main should have been called ‘our’ ;-)Not needed to use the family name when you are with your family. If you call John for dinner, John will know it’s him and you know who will come.But if your family has visitors of another family and they have a John in the family as well ...Family name + given name = fully qualified variable name