Lösungen zu den Übungen in Kapitel 12

  1. So könnte eine mögliche Lösung aussehen:

    foreach my $datei (@ARGV) {
      my $attrib = &attribute_ermitteln($datei);
      print "'$datei' $attrib.\n";
    }
    
    sub attribute_ermitteln {
      # Merkmale für die angegebene Datei ermitteln
      my $datei = shift @_;
      return "existiert nicht" unless -e $datei;
    
      my @attribute;
      push @attribute, "lesbar"      if -r $datei;
      push @attribute, "schreibbar"  if -w $datei;
      push @attribute, "ausfuehrbar" if -x $datei;
      return "existiert" unless @attribute;
      'ist ' . join " und ", @attribute;  # Rückgabewert
    }

    Auch bei dieser Lösung ist es wieder handlich, eine Subroutine zu benutzen. Die Hauptschleife gibt für jede Datei eine Zeile aus, die die Merkmale enthält, etwa 'cereal-killer' ist ausfuehrbar oder 'sumselprunz' ...

Get Einführung in Perl, Sixth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.