Пытаясь ответить на старый вопрос умным способом, я попытался сделать это, не зная, удастся ли это:
#!/usr/bin/env perl
use strict;
use warnings;
use Tie::File;
tie( my @data, 'Tie::File', \*DATA ) or die "Cannot tie DATA";
foreach ( @data ) {
print;
}
foreach ( @data ) {
print scalar reverse;
}
__DATA__
one
two
three
four
five
six
Я ожидал, что это сработает, или умри;то, что я получил, было неожиданным:
#!/usr/bin/env perluse strict;use warnings;use Tie::File;tie( my @data, 'Tie::File', \*DATA ) or die "Cannot tie DATA";foreach ( @data ) { print;}foreach ( @data ) { print scalar reverse;}__DATA__onetwothreefourfivesixlrep vne/nib/rsu/!#;tcirts esu;sgninraw esu;eliF::eiT esu;"ATAD eit tonnaC" eid ro ) ATAD*\ ,'eliF::eiT' ,atad@ ym (eit{ ) atad@ ( hcaerof;tnirp }{ ) atad@ ( hcaerof;esrever ralacs tnirp }__ATAD__enoowteerhtruofevifxis
Как, черт возьми, попытаться связать __DATA__
с Tie::File
, связал ли он сценарий, и chomp
тоже??