私は汚染モードを使用しようとしています。ユーザー入力に基づいてファイルを開き、ファイルを開いてデータを読み取りたい。以下は私のコードです
#!/usr/bin/perl -w
use strict;
use warnings;
my $name = $ARGV[0];
my $file = "/Desktop/data/$name";
open MYFILE, "$file" or die $!;
while (<MYFILE>) {
chomp;
print "$_\n";
}
close(MYFILE);
ケース 1) perl -w filename.pl input.txt を使用してファイルを実行すると、ファイルからデータを読み取ることができます。
ケース 2)
#!/usr/bin/perl -w
to
#!/usr/bin/perl -T
perl -T filename.pl input.txt を使用してファイルを実行します。まだデータを読み取ることができます。
ケース3)書き込みモードで開くようにファイルを変更し、汚染されたモードで実行すると、次のように正しい出力が得られます。
Insecure dependency in open while running with -t switch at test1.pl line 8.
ケース 2 のシナリオで何が問題になる可能性がありますか? それともそれは正しい行動ですか?
ファイルを読み取り用に汚染モードで開くことは許可されていますか?