C:\test>type junk1.pl
#! perl -slw
use strict;
print "?$_?" for <>;
C:\test>junk1
hello world
^Z
?hello world
?
C:\test>junk1 junk1.pl
?#! perl -slw
?
?use strict;
?
?print "?$_?" for <>;
?
####
C:\test>type junk1.pl|junk1
The process tried to write to a nonexistent pipe.
##
##
C:\test>type junk1.pl | perl junk1.pl
?#! perl -slw
?
?use strict;
?
?print "?$_?" for <>;
?
##
##
C:\test>pl2bat junk1.pl
C:\test>type junk1.bat
@rem = '--*-Perl-*--
@echo off
if "%OS%" == "Windows_NT" goto WinNT
perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
goto endofperl
:WinNT
perl -x -S %0 %*
if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
if %errorlevel% == 9009 echo You do not have Perl in your PATH.
if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
goto endofperl
@rem ';
#! perl -slw
#line 15
use strict;
print "?$_?" for <>;
__END__
:endofperl
C:\test>junk1 ;
?
C:\test>type junk1.pl | junk1
?#! perl -slw
?
?use strict;
?
?print "?$_?" for <>;
?