Lösungen zu den Übungen in Kapitel 12
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.