2452a15a1f37f8a82020023626915b70190466be
[p5sagit/p5-mst-13.2.git] / lib / FileHandle.pm
1 package FileHandle;
2
3 BEGIN {
4     require 5.000;
5     require English; import English;
6     require Exporter;
7 }
8
9 @ISA = (Exporter);
10 @EXPORT = qw(
11     print
12     autoflush
13     output_field_separator
14     output_record_separator
15     input_record_separator
16     input_line_number
17     format_page_number
18     format_lines_per_page
19     format_lines_left
20     format_name
21     format_top_name
22     format_line_break_characters
23     format_formfeed
24 );
25
26 sub print {
27     local($this) = shift;
28     print $this @_;
29 }
30
31 sub autoflush {
32     local($old) = select($_[0]);
33     local($prev) = $OUTPUT_AUTOFLUSH;
34     $OUTPUT_AUTOFLUSH = @_ > 1 ? $_[1] : 1;
35     select($old);
36     $prev;
37 }
38
39 sub output_field_separator {
40     local($old) = select($_[0]);
41     local($prev) = $OUTPUT_FIELD_SEPARATOR;
42     $OUTPUT_FIELD_SEPARATOR = $_[1] if @_ > 1;
43     select($old);
44     $prev;
45 }
46
47 sub output_record_separator {
48     local($old) = select($_[0]);
49     local($prev) = $OUTPUT_RECORD_SEPARATOR;
50     $OUTPUT_RECORD_SEPARATOR = $_[1] if @_ > 1;
51     select($old);
52     $prev;
53 }
54
55 sub input_record_separator {
56     local($old) = select($_[0]);
57     local($prev) = $INPUT_RECORD_SEPARATOR;
58     $INPUT_RECORD_SEPARATOR = $_[1] if @_ > 1;
59     select($old);
60     $prev;
61 }
62
63 sub input_line_number {
64     local($old) = select($_[0]);
65     local($prev) = $INPUT_LINE_NUMBER;
66     $INPUT_LINE_NUMBER = $_[1] if @_ > 1;
67     select($old);
68     $prev;
69 }
70
71 sub format_page_number {
72     local($old) = select($_[0]);
73     local($prev) = $FORMAT_PAGE_NUMBER;
74     $FORMAT_PAGE_NUMBER = $_[1] if @_ > 1;
75     select($old);
76     $prev;
77 }
78
79 sub format_lines_per_page {
80     local($old) = select($_[0]);
81     local($prev) = $FORMAT_LINES_PER_PAGE;
82     $FORMAT_LINES_PER_PAGE = $_[1] if @_ > 1;
83     select($old);
84     $prev;
85 }
86
87 sub format_lines_left {
88     local($old) = select($_[0]);
89     local($prev) = $FORMAT_LINES_LEFT;
90     $FORMAT_LINES_LEFT = $_[1] if @_ > 1;
91     select($old);
92     $prev;
93 }
94
95 sub format_name {
96     local($old) = select($_[0]);
97     local($prev) = $FORMAT_NAME;
98     $FORMAT_NAME = $_[1] if @_ > 1;
99     select($old);
100     $prev;
101 }
102
103 sub format_top_name {
104     local($old) = select($_[0]);
105     local($prev) = $FORMAT_TOP_NAME;
106     $FORMAT_TOP_NAME = $_[1] if @_ > 1;
107     select($old);
108     $prev;
109 }
110
111 sub format_line_break_characters {
112     local($old) = select($_[0]);
113     local($prev) = $FORMAT_LINE_BREAK_CHARACTERS;
114     $FORMAT_LINE_BREAK_CHARACTERS = $_[1] if @_ > 1;
115     select($old);
116     $prev;
117 }
118
119 sub format_formfeed {
120     local($old) = select($_[0]);
121     local($prev) = $FORMAT_FORMFEED;
122     $FORMAT_FORMFEED = $_[1] if @_ > 1;
123     select($old);
124     $prev;
125 }
126
127 1;