Changes

From SME Server
Jump to navigationJump to search
306 bytes added ,  16:19, 28 December 2013
Line 357: Line 357:  
=== Files and I/O ===
 
=== Files and I/O ===
   −
You can open a file for input or output using the open() function. It's documented in extravagant detail in perlfunc and perlopentut, but in short:
+
You can open a file for input or output using the [http://perldoc.perl.org/functions/open.html open()] function. It's documented in extravagant detail in [http://perldoc.perl.org/perlfunc.html perlfunc] and [http://perldoc.perl.org/perlopentut.html perlopentut], but in short:
    
     open(my $in, "<", "input.txt") or die "Can't open input.txt: $!";
 
     open(my $in, "<", "input.txt") or die "Can't open input.txt: $!";
Line 363: Line 363:  
     open(my $log, ">>", "my.log") or die "Can't open my.log: $!";
 
     open(my $log, ">>", "my.log") or die "Can't open my.log: $!";
   −
You can read from an open filehandle using the <> operator. In scalar context it reads a single line from the filehandle, and in list context it reads the whole file in, assigning each line to an element of the list:
+
You can read from an open filehandle using the '''<>''' operator. In scalar context it reads a single line from the filehandle, and in list context it reads the whole file in, assigning each line to an element of the list:
    
     my $line = <$in>;
 
     my $line = <$in>;
Line 370: Line 370:  
Reading in the whole file at one time is called slurping. It can be useful but it may be a memory hog. Most text file processing can be done a line at a time with Perl's looping constructs.
 
Reading in the whole file at one time is called slurping. It can be useful but it may be a memory hog. Most text file processing can be done a line at a time with Perl's looping constructs.
   −
The <> operator is most often seen in a while loop:
+
The '''<>''' operator is most often seen in a '''while''' loop:
    
     while (<$in>) { # assigns each line in turn to $_
 
     while (<$in>) { # assigns each line in turn to $_
Line 376: Line 376:  
     }
 
     }
   −
We've already seen how to print to standard output using print(). However, print() can also take an optional first argument specifying which filehandle to print to:
+
We've already seen how to print to standard output using '''[http://perldoc.perl.org/functions/print.html print()]'''. However, '''[http://perldoc.perl.org/functions/print.html print()]''' can also take an optional first argument specifying which filehandle to print to:
    
     print STDERR "This is your final warning.\n";
 
     print STDERR "This is your final warning.\n";
Line 382: Line 382:  
     print $log $logmessage;
 
     print $log $logmessage;
   −
When you're done with your filehandles, you should close() them (though to be honest, Perl will clean up after you if you forget):
+
When you're done with your filehandles, you should '''[http://perldoc.perl.org/functions/close.html close()]''' them (though to be honest, Perl will clean up after you if you forget):
    
     close $in or die "$in: $!";
 
     close $in or die "$in: $!";

Navigation menu