From: Wolfgang Laun Date: Mon, 28 Aug 2000 14:05:12 +0000 (+0200) Subject: Major rewrite of s2p. And I mean really major, it is X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=86a59229552fc742ed09795227799fb41537f06f;p=p5sagit%2Fp5-mst-13.2.git Major rewrite of s2p. And I mean really major, it is an implementation of sed in perl. If called as s2p it will function as s2p. Note: needs non-UNIXifying. Subject: s2p Message-ID: <39AA5578.2102E2AA@alcatel.at> p4raw-id: //depot/perl@7040 --- diff --git a/x2p/s2p.PL b/x2p/s2p.PL index 4f7bf8c..21a5ee8 100644 --- a/x2p/s2p.PL +++ b/x2p/s2p.PL @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl +#!/usr/bin/perl use Config; use File::Basename qw(&basename &dirname); @@ -29,823 +29,1927 @@ 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 = "$Config{startperl}"; +my \$perlpath = "$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+)$/$1/; + +# (p)sed - a stream editor +# History: Aug 12 2000: Original version. + +use strict; +use integer; +use Symbol; =head1 NAME -s2p - Sed to Perl translator +sed - a stream editor =head1 SYNOPSIS -B + sed [-an] script [file ...] + sed [-an] [-e script] [-f script-file] [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">. -=head2 Options +B returns an exit code of 0 on success or >0 if an error occurred. -Options include: +=head1 OPTIONS -=over 5 +=over 4 -=item B<-DEnumberE> +=item B<-a> -sets debugging flags. +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. + +=item B<-e> I