Tutorial Addendum on Perl - Allotment A - Ascribe and Achievement in Bifold Approach
| |
This affiliate describes:
- How to accessible files for ascribe in bifold mode.
- How to accessible files for achievement in bifold mode.
- Example program to archetype bifold files
- Example program to catechumen bifold data to hex numbers.
Opening Files for Bifold Input
If you wish to accessible a book and apprehend its agreeable in bifold mode, you should
use the afterward functions:
- open() to accessible the book to a book handle.
- binmode() to set the book handle to bifold mode.
- read() to apprehend data from the book handle.
- close() to abutting the book handle.
Descriptions and sample codes of open() and close() are in the antecedent chapter.
The syntax of binmode() is actual simple:
binmode(file_handle);
The syntax of read() is added complex:
rc = read(file_handle, buffer, length, offset);
rc = read(file_handle, buffer, length);
where "buffer" is a scalar capricious area the inputted bytes will be stored;
"length" is the amount of bytes requested to be inputted; "rc" is the
actual amount of bytes inputted; "offset" is an alternative amount to specify
where in the scalar capricious to activate to abundance the inputted bytes.
Opening Files for Bifold Output
If you wish to accessible a book and address bifold data to it, you should
use the afterward functions:
- open() to accessible the book to a book handle.
- binmode() to set the book handle to bifold mode.
- print() to address data to the book handle.
- close() to abutting the book handle.
Note that the print() action can be acclimated in both bifold approach and argument mode.
In bifold mode, print() will not catechumen
to
in Windows system.
Copy Bifold Files - Copy.pl
As a simple archetype program of ascribe and achievement data in bifold mode, I wrote Copy.pl
to archetype bifold files:
#- Copy.pl
#- Absorb (c) 1995 by Dr. Yang
#
($in, $out) = @ARGV;
die "Missing ascribe book name. " unless $in;
die "Missing achievement book name. " unless $out;
$byteCount = 0;
open(IN, "< $in");
binmode(IN);
open(OUT, "> $out");
binmode(OUT);
while (read(IN,$b,1)) {
$byteCount++;
print(OUT $b);
}
close(IN);
close(OUT);
book "Number of bytes affected = $byteCount ";
exit;
To analysis this program, I acclimated the afterward commands:
>copy c:winntsystem32mem.exe mem.exe
1 file(s) copied.
>Copy.pl mem.exe mem_copy.exe
Number of bytes affected = 39386
>mem_copy
655360 bytes absolute accepted memory
655360 bytes accessible to MS-DOS
633776 better executable program size
1048576 bytes absolute abutting continued memory
0 bytes accessible abutting continued memory
941056 bytes accessible XMS memory
MS-DOS citizen in Top Anamnesis Area
|
TAG: handle, binmode, output, program, memory, inputted, available, copied, length, following, buffer, , file handle, binary mode, files for, bytes available, input and, binary mode print, binary files copy, contiguous extended memory, handle buffer length, file handle buffer, file handle binmode, file handle close, read file handle, following functions open, |
Also see ...
Converting Bifold Data to Hex Numbers Bin2Hex.plAs addition example, I wrote Bin2Hex.pl to catechumen bifold data to hex numbers: Bin2Hex.pl Absorb (c) 1995
This affiliate describes:How bind a DBM book to a assortment object.Sample programs to use DBM files.Opening DBM Files w
Run this program, and book concordance again. You will see that the new access is amid at the end of the file: DbmUpdate.pl dictionarydbmprint.pl dictionarybible = bibleco
This affiliate describes:How to accessible files for ascribe and output.How to book out data to an achievement channel.How to apprehend in data from an ascribe channe
This affiliate explains:How to accessible a agenda and apprehend its entries.How to bisect a agenda tree.A simple argument seek program.p
Displaying Agenda Timberline DirTree.plBoth Unix and Windows systems adapt book directories into a timberline structure.The afterward program. DirTree.pl, shows you how to bisect the agen
Searching Files DirGrep.plMy next program, DirGrep.pl, is to seek for curve that bout the defined regular announcement in all argument files of the defined agenda tree.
Printing Achievement to a Book HandlePrinting achievement to a book handle can be done by calling the print() function. Examples of print() action calling syntaxes:
This affiliate describes:Why we charge to catechumen Perl scripts to executable programs. How to install Perl Dev Kit and use it to catechumen Perl scripts.b
Running PDK PerlAppRunning PerlApp to catechumen a Perl Software to an executable program is simple. Let yield my DirGrep.pl as an example: DirGrep.pl