--- a2ps-j.orig 2012-02-23 15:04:21.000000000 +0900 +++ a2ps-j 2012-10-02 01:58:37.000000000 +0900 @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl +#!/usr/bin/env perl ;# ;# a2ps: ascii to ps ;# @@ -56,9 +56,12 @@ @param_b4 = (10.15, 14.31, 1.40, 1.2, 8.50, 9.5, 0.29, 0.22, 0.08, 'b4'); sub paper { local(*param) = 'param_' . $_[0]; - die "Unknown paper type: $_[0]\n" unless defined @param; - ($width, $height, $lmargin, $smargin, $fontsize_l, $fontsize_p, - $portrait_header, $landscape_header, $paper_adjust, $paper_tray) = @param; + if (@param) { + ($width, $height, $lmargin, $smargin, $fontsize_l, $fontsize_p, + $portrait_header, $landscape_header, $paper_adjust, $paper_tray) = @param; + } else { + die "Unknown paper type: $_[0]\n"; + } } &paper($default_paper); @@ -192,7 +195,8 @@ if ($debug == 2) { require('dumpvar.pl'); - local($#) = '%.6g'; +## Perl 5.10.1 says $# is no longer supported +## local($#) = '%.6g'; &dumpvar('main', 'width', 'height', 'lmargin', 'smargin', 'font_size', 'sheet_height', 'sheet_width', 'char_width', 'skip_column', @@ -208,8 +212,14 @@ $file = shift; if ($file && !-r $file) { warn "$file: $!\n"; next; } if ($jisconvert) { - require 'flush.pl'; - &flush(STDOUT); + # flush.pl obsolete (originally in Perl 4) + # replaced with equivalent code of &flush(STDOUT) + local($old_stdout) = select(STDOUT); + $| = 1; + print ""; + $| = 0; + select($old_stdout); + # end of equivalent code open(F, "-|") || &jis($file); } else { $file = '-' if $file eq ''; @@ -410,7 +420,6 @@ unless ($selfconvert) { shift while @_ > 0 && $_[0] eq ''; exec('nkf', '-b', '-j', @_); - exec('jconv', '-j', @_); } if (($file = shift) ne '') { open(STDIN, $file) || die "$file: $!\n"; @@ -476,10 +485,13 @@ } sub print_header { - require('ctime.pl'); return if $header_is_printed++; - chop(local($date) = &ctime(time)); + # ctime.pl obsolete (originally in Perl 4) + # ctime.pl behaves differently when TZ is not set, + # but the behavior will not affect the PostScript file details + local($date) = scalar localtime; + local($orientation) = $portrait ? "Portrait" : "Landscape"; print <<"---"; @@ -525,7 +537,8 @@ printf("/lines %d def\n", $linesperpage); printf("/columns %d def\n", $columnsperline); $sublabel = $default_sublabel unless defined $sublabel; - print "/date (", &date($sublabel, time), ") def\n"; + # function name changed to a2ps_date to avoid confusion + print "/date (", &a2ps_date($sublabel, time), ") def\n"; if ($ascii_mag) { printf("/doasciimag true def /asciimagsize %f def\n", $ascii_mag); } else { @@ -548,7 +561,8 @@ print "%%EndProlog\n\n"; } -sub date { +# function name changed to a2ps_date to avoid confusion +sub a2ps_date { local($_, $time) = @_; local($sec, $min, $hour, $mday, $mon, $year, $wday) = localtime($time); $year += 1900;