Solution 1:
Opening a file in perl
open FILE, "filename.txt" or die $!; # read
open FILEHANDLE, MODE, EXPR
The available modes are the following:
| mode | operand | create | truncate |
|---|---|---|---|
| read | < | ||
| write | > | ? | ? |
| append | >> | ? |
Each of the above modes can also be prefixed with the + character to allow for simultaneous reading and writing.
| mode | operand | create | truncate |
|---|---|---|---|
| read/write | +< | ||
| read/write | +> | ? | ? |
| read/append | +>> | ? |
open FILE, ">", "filename.txt" or die $! #write
open FILE, ">filename.txt" or die $!; #write
Solution 2:
#!/usr/bin/perl
open(FILE, "<file.txt") or die "Couldn‘t open file file.txt, $!";
while(<FILE>){
print "$_";
}
Following is the table which gives possible values of different modes
| Entities | Definition |
|---|---|
| < or r | Read Only Access |
| > or w | Creates, Writes, and Truncates |
| >> or a | Writes, Appends, and Creates |
| +< or r+ | Reads and Writes |
| +> or w+ | Reads, Writes, Creates, and Truncates |
| +>> or a+ | Reads, Writes, Appends, and Creates |
Solution 3:
sysopen(FILE, "file.txt", O_RDWR|O_TRUNC );
Following is the table which gives possible values of MODE
| Entities | Definition |
|---|---|
| O_RDWR | Read and Write |
| O_RDONLY | Read Only |
| O_WRONLY | Write Only |
| O_CREAT | Create the file |
| O_APPEND | Append the file |
| O_TRUNC | Truncate the file |
| O_EXCL | Stops if file already exists |
| O_NONBLOCK | Non-Blocking usability |
read a text file line-by-line
my @lines = <FILE>;
while (<FILE>) { print $_; }
while (my $line = <FILE>) { ...}
read a file only a few characters at a time
open FILE, "picture.jpg" or die $!; # read
binmode FILE;
my ($buf, $data, $n);
while (($n = read FILE, $data, 4) != 0)
{ print "$n bytes read\n"; $buf .= $data; }
close(FILE);
#====================
open FILE, ">file.txt" or die $!; #write
print FILE $str;
close FILE;
open FILE1, "file.txt" or die $!; # read
open FILE2, "picture.jpg" or die $!; # read
...
close FILE2;
close FILE1;
#====================
REF:
http://www.perlfect.com/articles/perlfile.shtml
原文:http://www.cnblogs.com/emanlee/p/3843925.html