X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=x2p%2Fs2p.PL;h=9b62caac9c8be490472abc5e7c4da2ed18855414;hb=158b3652342ca691c9e3b061a1d78456ae1a9b4a;hp=7564d51d99e45d8770e6bca4c0c889c19a671507;hpb=44a8e56aa037ed0f03f0506f6f85f5ed290c78e1;p=p5sagit%2Fp5-mst-13.2.git diff --git a/x2p/s2p.PL b/x2p/s2p.PL index 7564d51..9b62caa 100644 --- a/x2p/s2p.PL +++ b/x2p/s2p.PL @@ -1,7 +1,8 @@ -#!/usr/local/bin/perl +#!/usr/bin/perl use Config; use File::Basename qw(&basename &dirname); +use Cwd; # List explicitly here the variables you want Configure to # generate. Metaconfig only looks for shell variables, so you @@ -12,8 +13,10 @@ use File::Basename qw(&basename &dirname); # This forces PL files to create target in same directory as PL file. # This is so that make depend always knows where to find PL derivatives. +$origdir = cwd; chdir dirname($0); $file = basename($0, '.PL'); +$file .= '.com' if $^O eq 'VMS'; open OUT,">$file" or die "Can't create $file: $!"; @@ -26,827 +29,2009 @@ print OUT <<"!GROK!THIS!"; $Config{startperl} eval 'exec $Config{perlpath} -S \$0 \${1+"\$@"}' if \$running_under_some_shell; -\$startperl = "$Config{startperl}"; -\$perlpath = "$Config{perlpath}"; +my \$startperl; +my \$perlpath; +(\$startperl = <<'/../') =~ s/\\s*\\z//; +$Config{startperl} +/../ +(\$perlpath = <<'/../') =~ s/\\s*\\z//; +$Config{perlpath} +/../ !GROK!THIS! # In the following, perl variables are not expanded during extraction. print OUT <<'!NO!SUBS!'; -# $RCSfile: s2p.SH,v $$Revision: 4.1 $$Date: 92/08/07 18:29:23 $ -# -# $Log: s2p.SH,v $ +$0 =~ s/^.*?(\w+)[\.\w]*$/$1/; + +# (p)sed - a stream editor +# History: Aug 12 2000: Original version. +# Mar 25 2002: Rearrange generated Perl program. + +use strict; +use integer; +use Symbol; =head1 NAME -s2p - Sed to Perl translator +psed - a stream editor =head1 SYNOPSIS -B + psed [-an] script [file ...] + psed [-an] [-e script] [-f script-file] [file ...] + + s2p [-an] [-e script] [-f script-file] =head1 DESCRIPTION -I takes a sed script specified on the command line (or from -standard input) and produces a comparable I script on the -standard output. +A stream editor reads the input stream consisting of the specified files +(or standard input, if none are given), processes is line by line by +applying a script consisting of edit commands, and writes resulting lines +to standard output. The filename `C<->' may be used to read standard input. + +The edit script is composed from arguments of B<-e> options and +script-files, in the given order. A single script argument may be specified +as the first parameter. + +If this program is invoked with the name F, it will act as a +sed-to-Perl translator. See L<"sed Script Translation">. + +B returns an exit code of 0 on success or >0 if an error occurred. -=head2 Options +=head1 OPTIONS -Options include: +=over 4 -=over 5 +=item B<-a> -=item B<-DEnumberE> +A file specified as argument to the B edit command is by default +opened before input processing starts. Using B<-a>, opening of such +files is delayed until the first line is actually written to the file. -sets debugging flags. +=item B<-e> I