StartseiteProgrammierungPerl

Subroutienen

17. AUGUST 2011
von Jörg
Programmierung - Perl

Subroutienen in Perl dienen dazu immer wiederholenden Quellcode mit einer einzigen Anweisung aufrufen zu können. Bei komplexeren Skripten sind solche Unterprogramme für die Übersichtlichkeit des Quellcodes für den Programmierer unerlässlich.

01
02
03
04
05
06
07
print "Hallo ";
&Joe;
Joe();


sub Joe{
  print "Joe!";
}

Wenn Subroutinen aus einem Modul aufgerufen werden sollen, muss voran der Packagename geschrieben werden: Modul::Joe();

Paramter übergeben

01
02
03
04
05
06
07
08
09
10
11
#index.pl
my $para1 = 1;
my $para2 = "hansi";
Joe( $para1, $para2 );

#sub.pl
sub Joe{
  my $para1 = shift;
  my $para2 = shift;
  ...
}

Rückgabewert von einer Subroutine

01
02
03
04
05
06
07
08
09
10
11
12
#index.pl
my $para1 = 1;
my $para2 = 2;
my $erg = Joe( $para1, $para2 );
print $erg;  #3

#sub.pl
sub Joe{
  my $para1 = shift;
  my $para2 = shift;
  return $para1 + $para2;
}

Paramter mit Referenz übergeben und in der Sub verändern

01
02
03
04
05
06
07
08
09
#backend.pl
my $check_all = 0;
my @comments = Subs::get_comments_backend( \$check_all );

#subs.pm
sub get_comments_backend{
  my $check_all = shift;
  $$check_all = 1;
}

Array mit Referenz übergeben und in der Sub verändern

01
02
03
04
05
06
07
08
09
#index.pl
my @array;
Subs::add_infos( \@array );

#subs.pm
sub get_comments_backend{
  my $array_ref = shift;
  push (@$array_ref, "info");
}

Hinterlasse einen Kommentar

Ein Frosch der sich an der Seite festhält