Commit | Line | Data |
8990e307 |
1 | package FileHandle; |
2 | |
3 | BEGIN { |
4 | require 5.000; |
5 | require English; import English; |
2304df62 |
6 | require Exporter; |
8990e307 |
7 | } |
2304df62 |
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 | ); |
8990e307 |
25 | |
26 | sub print { |
27 | local($this) = shift; |
28 | print $this @_; |
29 | } |
30 | |
2304df62 |
31 | sub autoflush { |
8990e307 |
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; |