You can "read yourself" and write a newfile with perhaps modified contents of yourself, but you cannot write over yourself. I am running McAfee and the below works.
#!/usr/bin/perl -w
use strict;
my $path = $0;
print "reading: $path\n";
open (my $in, '<', $path) or die "cannot open $path";
open (my $out, '>', "$path.new") or die "cannot open \"$path.new\"";
while (<$in>)
{
print;
print $out $_;
}
__END__
from STDOUT:
reading: C:\TEMP\scratch.pl
#!/usr/bin/perl -w
use strict;
my $path = $0;
print "reading: $path\n";
open (my $in, '<', $path) or die "cannot open $path";
open (my $out, '>', "$path.new") or die "cannot open \"$path.new\"";
while (<$in>)
{
print;
print $out $_;
}
__END__
from cat, i.e. type in Win lingo:
C:\TEMP>cat scratch.pl.new
#!/usr/bin/perl -w
use strict;
my $path = $0;
print "reading: $path\n";
open (my $in, '<', $path) or die "cannot open $path";
open (my $out, '>', "$path.new") or die "cannot open \"$path.new\"";
while (<$in>)
{
print;
print $out $_;
}
__END__
|