mirror of
https://github.com/Perl/perl5.git
synced 2026-01-26 08:38:23 +00:00
Remove some remnants of x2p, which was removed by commit e5a8a0fbd7
References to PERL_FOR_X2P probably have to stay in case any third-party code is #defining it. Likewise, NO_PERL_TYPEDEFS in vms/vmsish.h has to stay because it actually is used by App::a2p. Cross/Makefile.SH.patch still needs regenerating since it contains references to x2p in the top-level Makefile.SH which were removed by e5a8a0fbd7. A few other references to x2p/a2p/find2p/s2p still remain, which I am less sure about removing, plus some others in documentation which should stay anyway.
This commit is contained in:
parent
7d78c51a50
commit
c67aee7a0e
@ -14,7 +14,7 @@ Makefile=Makefile-cross-$CROSS_NAME
|
||||
# are removed/replaced in patches on blead, but are still needed in the
|
||||
# 5.8.x, 5.6.x and 5.005.x maintenance tracks.
|
||||
# metaconfig -m will scan all .SH files on this level (not deeper), and
|
||||
# not in x2p and other subfolders. This file is as good as any .SH
|
||||
# not in other subfolders. This file is as good as any .SH
|
||||
# patch references
|
||||
# #22227 $baserev
|
||||
# #22302 $yacc $byacc
|
||||
@ -966,7 +966,6 @@ _mopup:
|
||||
_tidy:
|
||||
-cd pod; $(LDLIBPTH) $(MAKE) clean
|
||||
-cd utils; $(LDLIBPTH) $(MAKE) clean
|
||||
-cd x2p; $(LDLIBPTH) $(MAKE) clean
|
||||
-@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
|
||||
$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib make_ext.pl --target=clean $$x MAKE=$(MAKE) ; \
|
||||
done
|
||||
@ -975,7 +974,6 @@ _cleaner1:
|
||||
-cd os2; rm -f Makefile
|
||||
-cd pod; $(LDLIBPTH) $(MAKE) $(CLEAN)
|
||||
-cd utils; $(LDLIBPTH) $(MAKE) $(CLEAN)
|
||||
-cd x2p; $(LDLIBPTH) $(MAKE) $(CLEAN)
|
||||
-@if test -f miniperl$(EXE_EXT) ; then \
|
||||
for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) $(nonxs_ext) ; do \
|
||||
$(LDLIBPTH) $(RUN) ./miniperl$(EXE_EXT) -Ilib make_ext.pl --target=$(CLEAN) $$x MAKE=$(MAKE) ; \
|
||||
@ -1055,7 +1053,6 @@ xconfig.h: config_h.SH Cross/config-$(CROSS_NAME).sh
|
||||
depend: makedepend
|
||||
sh ./makedepend MAKE=$(MAKE)
|
||||
- test -s perlmain.c && touch perlmain.c
|
||||
cd x2p; $(MAKE) depend
|
||||
|
||||
# Cannot postpone this until $firstmakefile is ready ;-)
|
||||
makedepend: makedepend.SH config.sh
|
||||
@ -1082,7 +1079,7 @@ _test_prep:
|
||||
test_prep_pre: preplibrary utilities $(nonxs_ext)
|
||||
|
||||
test_prep: test_prep_pre miniperl$(EXE_EXT) $(unidatafiles) perl$(EXE_EXT) \
|
||||
$(dynamic_ext) $(TEST_PERL_DLL) x2p/s2p x2p/find2perl
|
||||
$(dynamic_ext) $(TEST_PERL_DLL)
|
||||
PERL=./perl $(MAKE) _test_prep
|
||||
|
||||
_test_tty:
|
||||
@ -1288,44 +1285,6 @@ define)
|
||||
echo "This is an EBCDIC system, checking if any parser files need regenerating." >&2
|
||||
case "$osname" in
|
||||
os390|posix-bc)
|
||||
if cd x2p
|
||||
then
|
||||
rm -f y.tab.c y.tab.h
|
||||
case "$osname" in
|
||||
posix-bc)
|
||||
# we are using two different yaccs in BS2000 Posix!
|
||||
byacc a2p.y >/dev/null 2>&1
|
||||
;;
|
||||
*) # e.g. os390
|
||||
yacc a2p.y >/dev/null 2>&1
|
||||
;;
|
||||
esac
|
||||
if cmp -s y.tab.c a2p.c
|
||||
then
|
||||
rm -f y.tab.c
|
||||
else
|
||||
echo "a2p.y -> a2p.c" >&2
|
||||
mv -f y.tab.c a2p.c
|
||||
chmod u+w a2p.c
|
||||
sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
|
||||
-e 's|^static void __YY_YACC_MAIN.*BS2000.*|/*static main deleted*/|' \
|
||||
-e 's/y\.tab/a2p/g' a2p.c >a2p.tmp && mv a2p.tmp a2p.c
|
||||
xxx="$xxx a2p.c"
|
||||
fi
|
||||
# In case somebody yacc -d:ed the a2p.y.
|
||||
if test -f y.tab.h
|
||||
then
|
||||
if cmp -s y.tab.h a2p.h
|
||||
then
|
||||
rm -f y.tab.h
|
||||
else
|
||||
echo "a2p.h -> a2p.h" >&2
|
||||
mv -f y.tab.h a2p.h
|
||||
xxx="$xxx a2p.h"
|
||||
fi
|
||||
fi
|
||||
cd ..
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "'$osname' is an EBCDIC system I don't know that well." >&4
|
||||
|
||||
3
INSTALL
3
INSTALL
@ -2217,7 +2217,6 @@ make install will install the following:
|
||||
perl,
|
||||
perl5.n.n where 5.n.n is the current release number. This
|
||||
will be a link to perl.
|
||||
a2p awk-to-perl translator.
|
||||
|
||||
scripts
|
||||
|
||||
@ -2230,7 +2229,6 @@ make install will install the following:
|
||||
versions of perl.
|
||||
cpan The CPAN shell.
|
||||
enc2xs Encoding module generator.
|
||||
find2perl find-to-perl translator.
|
||||
h2ph Extract constants and simple macros from C
|
||||
headers.
|
||||
h2xs Converts C .h header files to Perl extensions.
|
||||
@ -2253,7 +2251,6 @@ make install will install the following:
|
||||
ptar A Perl implementation of tar.
|
||||
ptardiff A diff for tar archives.
|
||||
ptargrep A grep for tar archives.
|
||||
s2p sed-to-perl translator.
|
||||
shasum A tool to print or check SHA checksums.
|
||||
splain Describe Perl warnings and errors.
|
||||
xsubpp Compiler to convert Perl XS code into C code.
|
||||
|
||||
@ -653,7 +653,6 @@ PERLIMPLIB = ..\perl.lib
|
||||
MINIPERL = ..\miniperl.exe
|
||||
CONFIGPM = ..\lib\Config.pm
|
||||
MINIMOD = ..\lib\ExtUtils\Miniperl.pm
|
||||
X2P = ..\x2p\a2p.nlm
|
||||
|
||||
PL2BAT = ..\win32\bin\pl2bat.pl
|
||||
|
||||
@ -670,9 +669,7 @@ UTILS = \
|
||||
..\pod\pod2text \
|
||||
..\pod\pod2usage \
|
||||
..\pod\podchecker \
|
||||
..\pod\podselect \
|
||||
..\x2p\find2perl \
|
||||
..\x2p\s2p
|
||||
..\pod\podselect
|
||||
|
||||
MAKE = nmake -nologo
|
||||
#NMAKE = $(C_COMPILER) $(INCLUDE) $(NLM_INCLUDES) $(COMPLER_FLAGS) $(ADD_LOCDEFS) $(ERROR_FLAG) $(*F).c -o $@
|
||||
@ -738,13 +735,6 @@ NW_SRC = $(NW_SRC) .\$(CRYPT_SRC)
|
||||
|
||||
DLL_SRC = $(DYNALOADER).c
|
||||
|
||||
X2P_SRC = \
|
||||
..\x2p\a2p.c \
|
||||
..\x2p\hash.c \
|
||||
..\x2p\str.c \
|
||||
..\x2p\util.c \
|
||||
..\x2p\walk.c
|
||||
|
||||
CORE_NOCFG_H = \
|
||||
..\av.h \
|
||||
..\cop.h \
|
||||
@ -783,7 +773,6 @@ CORE_NOCFG_H = \
|
||||
CORE_H = $(CORE_NOCFG_H) .\config.h
|
||||
|
||||
DLL_OBJ = $(DLL_SRC:.c=.obj)
|
||||
X2P_OBJ = $(X2P_SRC:.c=.obj)
|
||||
|
||||
DYNAMIC_EXT = Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \
|
||||
Data/Dumper Devel/Peek ByteLoader File/Glob \
|
||||
@ -891,47 +880,6 @@ $(MINIPERL) :
|
||||
$(MINIMOD) : $(MINIPERL) ..\minimod.pl
|
||||
cd .. && miniperl minimod.pl > lib\ExtUtils\Miniperl.pm
|
||||
|
||||
..\x2p\a2p$(o) : ..\x2p\a2p.c
|
||||
@echo $(MPKMESSAGE)...$(BLDMESG)...$@
|
||||
$(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) -I..\x2p $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@
|
||||
@echo Built $(@)
|
||||
|
||||
..\x2p\hash$(o) : ..\x2p\hash.c
|
||||
@echo $(MPKMESSAGE)...$(BLDMESG)...$@
|
||||
$(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) -I..\x2p $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@
|
||||
@echo Built $(@)
|
||||
|
||||
..\x2p\str$(o) : ..\x2p\str.c
|
||||
@echo $(MPKMESSAGE)...$(BLDMESG)...$@
|
||||
$(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) -I..\x2p $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@
|
||||
@echo Built $(@)
|
||||
|
||||
..\x2p\util$(o) : ..\x2p\util.c
|
||||
@echo $(MPKMESSAGE)...$(BLDMESG)...$@
|
||||
$(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) -I..\x2p $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@
|
||||
@echo Built $(@)
|
||||
|
||||
..\x2p\walk$(o) : ..\x2p\walk.c
|
||||
@echo $(MPKMESSAGE)...$(BLDMESG)...$@
|
||||
$(C_COMPILER) $(COMPLER_FLAGS) $(NLM_INCLUDES) -I..\x2p $(ADD_LOCDEFS) $(ERROR_FLAG) $*.c -o $@
|
||||
@echo Built $(@)
|
||||
|
||||
$(X2P) : $(MINIPERL) $(X2P_OBJ)
|
||||
@echo Building $@..........
|
||||
$(MINIPERL) ..\x2p\find2perl.PL
|
||||
$(MINIPERL) ..\x2p\s2p.PL
|
||||
# Linker definitions and lining come here for CODEWARRIOR
|
||||
@echo $(BASE_IMPORT_FILES) > $*.def
|
||||
@echo MODULE clib >> $*.def
|
||||
@echo Import @perl.imp >> $*.def
|
||||
!ifdef USE_XDC
|
||||
$(MPKTOOL) $(XDCFLAGS) $*.xdc
|
||||
@echo Import Mp.imp >> $*.def
|
||||
@echo xdcdata $*.xdc >> $*.def
|
||||
!endif
|
||||
## $(LINK) $(LDFLAGS) $(BS_CFLAGS) -desc "Awk to Perl Translator" $(X2P_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@
|
||||
$(LINK) $(LDFLAGS) -desc "Awk to Perl Translator" $(X2P_OBJ) $(BLDDIR)\clibstuf.obj -commandfile $*.def -o $@
|
||||
|
||||
$(EXTDIR)\DynaLoader\dl_netware.xs: dl_netware.xs
|
||||
copy dl_netware.xs $(EXTDIR)\DynaLoader\dl_netware.xs
|
||||
|
||||
@ -1357,7 +1305,7 @@ nwclean:
|
||||
-del /f /q *.obj *.map *.link *.options *.nlm *.sym *.xdc *.err *.lib *.def *.pdb *.bs
|
||||
cd ..\..\
|
||||
|
||||
utils: $(BLDDIR)\$(NLM_NAME8).$(NLM_EXT) $(X2P)
|
||||
utils: $(BLDDIR)\$(NLM_NAME8).$(NLM_EXT)
|
||||
cd ..\utils
|
||||
$(MAKE) PERL=$(MINIPERL)
|
||||
cd ..\pod
|
||||
@ -1402,11 +1350,6 @@ distclean: clean nwclean
|
||||
-del /f /q h2ph splain perlbug pl2pm c2ph h2xs perldoc
|
||||
-del /f /q *.bat
|
||||
cd ..\netware
|
||||
cd ..\x2p
|
||||
-del /f /q find2perl s2p
|
||||
-del /f /q *.bat *.exe
|
||||
-del /f /q *.obj *.map *.link *.xdc *.err
|
||||
cd ..\netware
|
||||
-del /f /q ..\config.sh ..\splittree.pl dlutils.c config.h.new
|
||||
-del /f /q $(CONFIGPM)
|
||||
-del /f /q bin\*.bat
|
||||
@ -1463,4 +1406,3 @@ clean :
|
||||
-@erase $(DLL_OBJ)
|
||||
-@erase ..\*$(o) ..\*.lib ..\*.exp *$(o) *.lib *.exp *.res
|
||||
-@erase ..\t\*.exe ..\t\*.dll ..\t\*.bat
|
||||
-@erase ..\x2p\*.nlm ..\x2p\*.bat
|
||||
|
||||
@ -166,7 +166,7 @@ for the particular file in core.)
|
||||
=item Utility Changes
|
||||
|
||||
Changes to installed programs such as F<perlbug> and F<xsubpp> go here. Most
|
||||
of these are built within the directories F<utils> and F<x2p>.
|
||||
of these are built within the directory F<utils>.
|
||||
|
||||
=item New Documentation
|
||||
|
||||
|
||||
@ -143,7 +143,7 @@ sub calc_longtable {
|
||||
|
||||
emit Configure => $configure_size, 1;
|
||||
|
||||
foreach my $dir (qw(Cross djgpp emacs h2pl hints NetWare os2 plan9 Porting qnx symbian utils vms vos win32 x2p)) {
|
||||
foreach my $dir (qw(Cross djgpp emacs h2pl hints NetWare os2 plan9 Porting qnx symbian utils vms vos win32)) {
|
||||
calc_dir($dir);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1381,7 +1381,7 @@ The files of Perl source code distribution do carry a lot of
|
||||
copyrights, by various people. (There are many copyrights embedded in
|
||||
perl.c, for example.) The most straightforward thing for pumpkings to
|
||||
do is to simply update Larry's copyrights at the beginning of the
|
||||
*.[hcy], x2p/*.[hcy], *.pl, and README files, and leave all other
|
||||
*.[hcy], *.pl, and README files, and leave all other
|
||||
copyrights alone. Doing more than that requires quite a bit of tracking.
|
||||
|
||||
=back
|
||||
|
||||
@ -132,7 +132,7 @@ is nothing to worry about at all.
|
||||
Some of the parser default template files in /samples are needed in /etc.
|
||||
In particular be sure that you at least copy /samples/yyparse.c to /etc
|
||||
before running Perl's Configure. This step ensures successful extraction
|
||||
of EBCDIC versions of parser files such as perly.c, perly.h, and x2p/a2p.c.
|
||||
of EBCDIC versions of parser files such as perly.c and perly.h.
|
||||
This has to be done before running Configure the first time. If you failed
|
||||
to do so then the easiest way to re-Configure Perl is to delete your
|
||||
misconfigured build root and re-extract the source from the tar ball.
|
||||
|
||||
@ -7410,7 +7410,6 @@ $ WRITE CONFIG "$ corelist == """ + perl_setup_perl + " ''vms_prefix':[utils]c
|
||||
$ WRITE CONFIG "$ cpan == """ + perl_setup_perl + " ''vms_prefix':[utils]cpan.com"""
|
||||
$ WRITE CONFIG "$ enc2xs == """ + perl_setup_perl + " ''vms_prefix':[utils]enc2xs.com"""
|
||||
$ WRITE CONFIG "$ encguess == """ + perl_setup_perl + " ''vms_prefix':[utils]encguess.com"""
|
||||
$ WRITE CONFIG "$ find2perl == """ + perl_setup_perl + " ''vms_prefix':[utils]find2perl.com"""
|
||||
$ WRITE CONFIG "$ h2ph == """ + perl_setup_perl + " ''vms_prefix':[utils]h2ph.com"""
|
||||
$ WRITE CONFIG "$ h2xs == """ + perl_setup_perl + " ''vms_prefix':[utils]h2xs.com"""
|
||||
$ WRITE CONFIG "$ instmodsh == """ + perl_setup_perl + " ''vms_prefix':[utils]instmodsh.com"""
|
||||
@ -7429,7 +7428,6 @@ $ WRITE CONFIG "$ podselect == """ + perl_setup_perl + " ''vms_prefix':[utils]p
|
||||
$ WRITE CONFIG "$ prove == """ + perl_setup_perl + " ''vms_prefix':[utils]prove.com"""
|
||||
$ WRITE CONFIG "$ psed == """ + perl_setup_perl + " ''vms_prefix':[utils]psed.com"""
|
||||
$ WRITE CONFIG "$ pstruct == """ + perl_setup_perl + " ''vms_prefix':[utils]pstruct.com"""
|
||||
$ WRITE CONFIG "$ s2p == """ + perl_setup_perl + " ''vms_prefix':[utils]s2p.com"""
|
||||
$ WRITE CONFIG "$ ptar == """ + perl_setup_perl + " ''vms_prefix':[utils]ptar.com"""
|
||||
$ WRITE CONFIG "$ ptardiff == """ + perl_setup_perl + " ''vms_prefix':[utils]ptardiff.com"""
|
||||
$ WRITE CONFIG "$ ptargrep == """ + perl_setup_perl + " ''vms_prefix':[utils]ptargrep.com"""
|
||||
|
||||
@ -38,7 +38,6 @@ sed -e $SARGV -e $SDOTTMP t/io/argv.t >s; mv -f s t/io/argv.t
|
||||
sed -e $SABC t/io/inplace.t >s; mv -f s t/io/inplace.t
|
||||
sed -e $SDBMX -e $SDBHASH ext/GDBM_File/t/gdbm.t >s; mv -f s ext/GDBM_File/t/gdbm.t
|
||||
sed -e $SSTAT -e $STMP2 t/op/stat.t >s; mv -f s t/op/stat.t
|
||||
sed -e $SLIST x2p/Makefile.SH |tr -d '\r' >s; mv -f s x2p/Makefile.SH
|
||||
#sed -e 's=^#define.\([A-Z]\+\)_EXP.*$=#define \1_EXP djgpp_pathexp("\1")=g' config_h.SH >s; mv -f s config_h.SH
|
||||
sed -e 's=:^/:={^([a-z]:)?[\\\\/]}=g' lib/termcap.pl >s; mv -f s lib/termcap.pl
|
||||
sed -e $SPACKLIST installman >s; mv -f s installman
|
||||
|
||||
@ -167,7 +167,7 @@ esac
|
||||
|
||||
#
|
||||
# Note that Makefile.SH employs a bare yacc command to generate
|
||||
# perly.[hc] and a2p.[hc], hence you may wish to:
|
||||
# perly.[hc], hence you may wish to:
|
||||
#
|
||||
# alias yacc='myyacc'
|
||||
#
|
||||
|
||||
@ -83,7 +83,7 @@ while (<$fh>) {
|
||||
next if /^#/;
|
||||
chomp;
|
||||
my ($path, $leaf) = m|^(\S*/(\S+))|;
|
||||
# Have we already installed the manpage for this? (eg perldoc, a2p)
|
||||
# Have we already installed the manpage for this? (eg perldoc)
|
||||
next if $man1{$leaf};
|
||||
pod2man({$leaf, $path}, $opts{man1dir}, $opts{man1ext});
|
||||
if ($has_man1dir) {
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
# are removed/replaced in patches on blead, but are still needed in the
|
||||
# 5.8.x, 5.6.x and 5.005.x maintainance tracks.
|
||||
# metaconfig -m will scan all .SH files on this level (not deeper), and
|
||||
# not in x2p and other subfolders. This file is as good as any .SH
|
||||
# not in other subfolders. This file is as good as any .SH
|
||||
# patch references
|
||||
# #22227 $baserev
|
||||
# #22302 $yacc $byacc
|
||||
|
||||
2
perlio.h
2
perlio.h
@ -14,7 +14,7 @@
|
||||
Interface for perl to IO functions.
|
||||
There is a hierarchy of Configure determined #define controls:
|
||||
USE_STDIO - forces PerlIO_xxx() to be #define-d onto stdio functions.
|
||||
This is used for x2p subdirectory and for conservative
|
||||
This is used for conservative
|
||||
builds - "just like perl5.00X used to be".
|
||||
This dominates over the others.
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ path perlglossary cpan/perlfaq/lib/
|
||||
path perlxs(?:tut|typemap)? dist/ExtUtils-ParseXS/lib/
|
||||
path perldoc cpan/Pod-Perldoc/
|
||||
|
||||
aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp
|
||||
aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
|
||||
|
||||
=end buildtoc
|
||||
|
||||
|
||||
@ -158,10 +158,6 @@ The old home for the module tests, you shouldn't put anything new in
|
||||
here. There are still some bits and pieces hanging around in here that
|
||||
need to be moved. Perhaps you could move them? Thanks!
|
||||
|
||||
=item * F<t/x2p>
|
||||
|
||||
A test suite for the s2p converter.
|
||||
|
||||
=back
|
||||
|
||||
=head2 Documentation
|
||||
|
||||
@ -24,7 +24,7 @@ find({no_chdir => 1, wanted => sub {
|
||||
$name =~ s/^\..//;
|
||||
|
||||
# Special exemption for Makefile, makefile
|
||||
return if $name =~ m!\A(?:x2p/)?[Mm]akefile\z!;
|
||||
return if $name =~ m!\A[Mm]akefile\z!;
|
||||
|
||||
if ($name eq '.git') {
|
||||
# Don't scan the .git directory, as its contents are outside
|
||||
|
||||
@ -197,7 +197,7 @@ while (my $file = <$fh>) {
|
||||
$file =~ s/\s+.*//;
|
||||
next unless $file =~ /\.(?:c|cpp|h|xs|y)\z/ or $file =~ /^perly\./;
|
||||
# OS/2 extensions have never been migrated to ext/, hence the special case:
|
||||
next if $file =~ m!\A(?:ext|dist|cpan|lib|t|os2/OS2|x2p)/!
|
||||
next if $file =~ m!\A(?:ext|dist|cpan|lib|t|os2/OS2)/!
|
||||
&& $file !~ m!\Aext/DynaLoader/!;
|
||||
check_file($file);
|
||||
}
|
||||
|
||||
@ -62,11 +62,7 @@ my %excuses = (
|
||||
foreach (@maybe) {
|
||||
if (/\.p[lm]$/) {
|
||||
push @victims, $_;
|
||||
} elsif ($_ !~ m{^x2p/a2p}) {
|
||||
# test_prep doesn't (yet) have a dependency on a2p, so it seems a bit
|
||||
# silly adding one (and forcing it to be built) just so that we can open
|
||||
# it and determine that it's *not* a perl program, and hence of no
|
||||
# further interest to us.
|
||||
} else {
|
||||
open $fh, '<', $_ or die "Can't open '$_': $!";
|
||||
my $line = <$fh>;
|
||||
if ($line =~ m{^#!(?:\S*|/usr/bin/env\s+)perl}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user