1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-04-04 22:42:43 +02:00

Merge pull request #1131 from mcanlas/master

[perl/en] Whitespace and for loop improvements
This commit is contained in:
Levi Bostian 2015-06-09 20:56:20 -05:00
commit dc34162829

View File

@ -47,9 +47,9 @@ my %fruit_color = ("apple", "red", "banana", "yellow");
# You can use whitespace and the "=>" operator to lay them out more nicely:
my %fruit_color = (
apple => "red",
banana => "yellow",
);
apple => "red",
banana => "yellow",
);
# Scalars, arrays and hashes are documented more fully in perldata.
# (perldoc perldata).
@ -60,17 +60,17 @@ my %fruit_color = (
# Perl has most of the usual conditional and looping constructs.
if ( $var ) {
...
} elsif ( $var eq 'bar' ) {
...
if ($var) {
...
} elsif ($var eq 'bar') {
...
} else {
...
...
}
unless ( condition ) {
...
}
unless (condition) {
...
}
# This is provided as a more readable version of "if (!condition)"
# the Perlish post-condition way
@ -78,19 +78,29 @@ print "Yow!" if $zippy;
print "We have no bananas" unless $bananas;
# while
while ( condition ) {
...
}
while (condition) {
...
}
# for and foreach
for ($i = 0; $i <= $max; $i++) {
...
}
# for loops and iteration
for (my $i = 0; $i < $max; $i++) {
print "index is $i";
}
foreach (@array) {
print "This element is $_\n";
}
for (my $i = 0; $i < @elements; $i++) {
print "Current element is " . $elements[$i];
}
for my $element (@elements) {
print $element;
}
# implicitly
for (@elements) {
print;
}
#### Regular expressions
@ -129,9 +139,11 @@ my @lines = <$in>;
# Writing subroutines is easy:
sub logger {
my $logmessage = shift;
open my $logfile, ">>", "my.log" or die "Could not open my.log: $!";
print $logfile $logmessage;
my $logmessage = shift;
open my $logfile, ">>", "my.log" or die "Could not open my.log: $!";
print $logfile $logmessage;
}
# Now we can use the subroutine just as any other built-in function: