strict-subs revision 7c478bd95313f5f23a4c958a745db2134aa03244
f743002678eb67b99bbc29fee116b65d9530fec0wroweCheck strict subs functionality
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem__END__
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic# no strict, should build & run ok.
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavicFred ;
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavicmy $fred ;
4da61833a1cbbca94094f9653fd970582b97a72etrawick$b = "fred" ;
4da61833a1cbbca94094f9653fd970582b97a72etrawick$a = $$b ;
4da61833a1cbbca94094f9653fd970582b97a72etrawickEXPECT
4da61833a1cbbca94094f9653fd970582b97a72etrawick
4da61833a1cbbca94094f9653fd970582b97a72etrawick########
4789804be088bcd86ae637a29cdb7fda25169521jailletc
4789804be088bcd86ae637a29cdb7fda25169521jailletcuse strict qw(refs vars);
4789804be088bcd86ae637a29cdb7fda25169521jailletcFred ;
4789804be088bcd86ae637a29cdb7fda25169521jailletcEXPECT
e50c3026198fd496f183cda4c32a202925476778covener
e50c3026198fd496f183cda4c32a202925476778covener########
e50c3026198fd496f183cda4c32a202925476778covener
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrinuse strict ;
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrinno strict 'subs' ;
6c3b9cebb551140fbb25d58bae08b539b3802133ylavicFred ;
6c3b9cebb551140fbb25d58bae08b539b3802133ylavicEXPECT
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic########
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic# strict subs - error
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavicuse strict 'subs' ;
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavicFred ;
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavicEXPECT
69301145375a889e7e37caf7cc7321ac0f91801erpluemBareword "Fred" not allowed while "strict subs" in use at - line 4.
69301145375a889e7e37caf7cc7321ac0f91801erpluemExecution of - aborted due to compilation errors.
69301145375a889e7e37caf7cc7321ac0f91801erpluem########
506bfe33206b2fece40ef25f695af39dd4130facjkaluza
506bfe33206b2fece40ef25f695af39dd4130facjkaluza# strict subs - error
506bfe33206b2fece40ef25f695af39dd4130facjkaluzause strict 'subs' ;
506bfe33206b2fece40ef25f695af39dd4130facjkaluzamy @a = (A..Z);
d58a848a016d401b965111e50ef829e1641f7834minfrinEXPECT
d58a848a016d401b965111e50ef829e1641f7834minfrinBareword "Z" not allowed while "strict subs" in use at - line 4.
d58a848a016d401b965111e50ef829e1641f7834minfrinBareword "A" not allowed while "strict subs" in use at - line 4.
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sfExecution of - aborted due to compilation errors.
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf########
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic# strict subs - error
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicuse strict 'subs' ;
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicmy $a = (B..Y);
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicEXPECT
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavicBareword "Y" not allowed while "strict subs" in use at - line 4.
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavicBareword "B" not allowed while "strict subs" in use at - line 4.
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavicExecution of - aborted due to compilation errors.
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic########
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic# strict subs - error
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicuse strict ;
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicFred ;
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicEXPECT
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicBareword "Fred" not allowed while "strict subs" in use at - line 4.
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavicExecution of - aborted due to compilation errors.
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener########
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener# strict subs - no error
d7205b1a86c51c27b71a2c458dc453fd53a261c1coveneruse strict 'subs' ;
d7205b1a86c51c27b71a2c458dc453fd53a261c1covenersub Fred {}
44ff304057225e944e220e981d434a046d14cf06covenerFred ;
44ff304057225e944e220e981d434a046d14cf06covenerEXPECT
44ff304057225e944e220e981d434a046d14cf06covener
44ff304057225e944e220e981d434a046d14cf06covener########
5d1ba75b8794925e67591c209085a49279791de9covener
5d1ba75b8794925e67591c209085a49279791de9covener# Check compile time scope of strict subs pragma
5d1ba75b8794925e67591c209085a49279791de9coveneruse strict 'subs' ;
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand{
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand no strict ;
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand my $a = Fred ;
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand}
caad2986f81ab263f7af41467dd622dc9add17f3ylavicmy $a = Fred ;
caad2986f81ab263f7af41467dd622dc9add17f3ylavicEXPECT
caad2986f81ab263f7af41467dd622dc9add17f3ylavicBareword "Fred" not allowed while "strict subs" in use at - line 8.
caad2986f81ab263f7af41467dd622dc9add17f3ylavicExecution of - aborted due to compilation errors.
45a10d38e6051fd7bdf9d742aaae633d97ff02abjailletc########
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton# Check compile time scope of strict subs pragma
2165214331e4afafca4048f66f303d0253d7b001covenerno strict;
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem{
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem use strict 'subs' ;
1e2d421a36999d292042a5539971070d54aa6c63ylavic my $a = Fred ;
1e2d421a36999d292042a5539971070d54aa6c63ylavic}
1e2d421a36999d292042a5539971070d54aa6c63ylavicmy $a = Fred ;
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedoohEXPECT
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedoohBareword "Fred" not allowed while "strict subs" in use at - line 6.
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedoohExecution of - aborted due to compilation errors.
0b67eb8568cd58bb77082703951679b42cf098actrawick########
0b67eb8568cd58bb77082703951679b42cf098actrawick
0b67eb8568cd58bb77082703951679b42cf098actrawick# Check compile time scope of strict vars pragma
0b67eb8568cd58bb77082703951679b42cf098actrawickuse strict 'vars' ;
5ef3c61605a3a021ff71f488983cb0065f8e1a79covener{
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovener no strict ;
09c87c777bed1655621bb20e1c46cb6b1a63279dcovener $joe = 1 ;
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic}
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic$joe = 1 ;
3060ce7f798fbda7999cd4ddf89b525d2b294185covenerEXPECT
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavicVariable "$joe" is not imported at - line 8.
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavicGlobal symbol "$joe" requires explicit package name at - line 8.
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavicExecution of - aborted due to compilation errors.
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc########
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc
e466c40e1801982602ee0200c9e8b61cc148742djailletc# Check compile time scope of strict vars pragma
e466c40e1801982602ee0200c9e8b61cc148742djailletcno strict;
457468b82e59d01eba00dd9d0817309c8f5e414ejim{
457468b82e59d01eba00dd9d0817309c8f5e414ejim use strict 'vars' ;
457468b82e59d01eba00dd9d0817309c8f5e414ejim $joe = 1 ;
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton}
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton$joe = 1 ;
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluemEXPECT
15660979a30d251681463de2e0584853890082accovenerGlobal symbol "$joe" requires explicit package name at - line 6.
15660979a30d251681463de2e0584853890082accovenerExecution of - aborted due to compilation errors.
49dacedb6c387b786b7911082ff35121a45f414bcovener########
49dacedb6c387b786b7911082ff35121a45f414bcovener
cfd9415521847b2f9394fad04fb701cfb955f503rjung# Check runtime scope of strict refs pragma
cfd9415521847b2f9394fad04fb701cfb955f503rjunguse strict 'refs';
cfd9415521847b2f9394fad04fb701cfb955f503rjungmy $fred ;
28c31fb73c1264bd1d0ff932573677030b024c7dwrowemy $b = "fred" ;
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe{
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe no strict ;
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe my $a = $$b ;
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe}
8491e0600f69b0405e156ea8a419653c065c645bcovenermy $a = $$b ;
63b9f1f5880391261705f696d7d65507bbe9ace3covenerEXPECT
63b9f1f5880391261705f696d7d65507bbe9ace3covenerCan't use string ("fred") as a SCALAR ref while "strict refs" in use at - line 10.
63b9f1f5880391261705f696d7d65507bbe9ace3covener########
49dacedb6c387b786b7911082ff35121a45f414bcovener
49dacedb6c387b786b7911082ff35121a45f414bcovener# Check runtime scope of strict refs pragma
49dacedb6c387b786b7911082ff35121a45f414bcovenerno strict ;
49dacedb6c387b786b7911082ff35121a45f414bcovenermy $fred ;
3c990331fc6702119e4f5b8ba9eae3021aea5265jimmy $b = "fred" ;
3c990331fc6702119e4f5b8ba9eae3021aea5265jim{
3c990331fc6702119e4f5b8ba9eae3021aea5265jim use strict 'refs' ;
3c990331fc6702119e4f5b8ba9eae3021aea5265jim my $a = $$b ;
fc42512879dd0504532f52fe5d0d0383dda96a1eniq}
fc42512879dd0504532f52fe5d0d0383dda96a1eniqmy $a = $$b ;
fc42512879dd0504532f52fe5d0d0383dda96a1eniqEXPECT
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niqCan't use string ("fred") as a SCALAR ref while "strict refs" in use at - line 8.
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq########
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc# Check runtime scope of strict refs pragma
983528026996668ea295be95aedb9c7a346af470ylavicno strict ;
da0442c0440caef34706e2c2f3af05cb65921cc0jailletcmy $fred ;
da0442c0440caef34706e2c2f3af05cb65921cc0jailletcmy $b = "fred" ;
06b8f183140c8e02e0974e938a05078b511d1603covener{
06b8f183140c8e02e0974e938a05078b511d1603covener use strict 'refs' ;
06b8f183140c8e02e0974e938a05078b511d1603covener $a = sub { my $c = $$b ; }
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem}
259878293a997ff49f5ddfc53d3739cbdc25444ecovener&$a ;
259878293a997ff49f5ddfc53d3739cbdc25444ecovenerEXPECT
259878293a997ff49f5ddfc53d3739cbdc25444ecovenerCan't use string ("fred") as a SCALAR ref while "strict refs" in use at - line 8.
259878293a997ff49f5ddfc53d3739cbdc25444ecovener########
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrinuse strict 'subs' ;
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrinmy $a = Fred ;
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrinEXPECT
65967d05f839dbf27cf91d91fa79585eeae19660minfrinBareword "Fred" not allowed while "strict subs" in use at - line 3.
65967d05f839dbf27cf91d91fa79585eeae19660minfrinExecution of - aborted due to compilation errors.
65967d05f839dbf27cf91d91fa79585eeae19660minfrin########
65967d05f839dbf27cf91d91fa79585eeae19660minfrin
8152945ae46857b170cb227e79bb799f4fc7710dminfrin--FILE-- abc
8152945ae46857b170cb227e79bb799f4fc7710dminfrinmy $a = Fred ;
8152945ae46857b170cb227e79bb799f4fc7710dminfrin1;
8152945ae46857b170cb227e79bb799f4fc7710dminfrin--FILE--
75f5c2db254c0167a0e396254460de09b775d203trawickuse strict 'subs' ;
75f5c2db254c0167a0e396254460de09b775d203trawickrequire "./abc";
75f5c2db254c0167a0e396254460de09b775d203trawickEXPECT
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph########
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick--FILE-- abc
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawickuse strict 'subs' ;
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick1;
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick--FILE--
54d750a84a175d8e338880514d440773eb986b50covenerrequire "./abc";
54d750a84a175d8e338880514d440773eb986b50covenermy $a = Fred ;
54d750a84a175d8e338880514d440773eb986b50covenerEXPECT
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener########
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener--FILE-- abc
54d750a84a175d8e338880514d440773eb986b50coveneruse strict 'subs' ;
7a3aa12f0eda24793ee26d6a179bd53132e9dae8covenermy $a = Fred ;
54d750a84a175d8e338880514d440773eb986b50covener1;
54d750a84a175d8e338880514d440773eb986b50covener--FILE--
83b50288fa7d306324bba68832011ea08f5c7832covenerFred ;
4e30ef014533a7e93c92d88306291f5e49c9692ftrawickrequire "./abc";
83b50288fa7d306324bba68832011ea08f5c7832covenerEXPECT
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawickBareword "Fred" not allowed while "strict subs" in use at ./abc line 2.
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawickCompilation failed in require at - line 2.
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick########
2e15620d724fb8e3a5be183b917359a2fd6e9468covener
2e15620d724fb8e3a5be183b917359a2fd6e9468covener--FILE-- abc.pm
2e15620d724fb8e3a5be183b917359a2fd6e9468coveneruse strict 'subs' ;
2e15620d724fb8e3a5be183b917359a2fd6e9468covenermy $a = Fred ;
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener1;
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener--FILE--
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covenerFred ;
1b988c41ee505962781d110a3e4c2c90f1ea0aa4coveneruse abc;
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovenerEXPECT
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovenerBareword "Fred" not allowed while "strict subs" in use at abc.pm line 2.
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovenerCompilation failed in require at - line 2.
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisdBEGIN failed--compilation aborted at - line 2.
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd########
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd
179565be4043d7e5f9161aa75271fa0a001866d9covener# Check scope of pragma with eval
179565be4043d7e5f9161aa75271fa0a001866d9covenerno strict ;
179565be4043d7e5f9161aa75271fa0a001866d9covenereval {
111436a32ba1254291e4883292fb116d15fe8f64covener my $a = Fred ;
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener};
fce4949fb0b309a5744afcd503c6ed2d35621ee2covenerprint STDERR $@;
fce4949fb0b309a5744afcd503c6ed2d35621ee2covenermy $a = Fred ;
fce4949fb0b309a5744afcd503c6ed2d35621ee2covenerEXPECT
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick########
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz# Check scope of pragma with eval
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantzno strict ;
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantzeval {
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza use strict 'subs' ;
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza my $a = Fred ;
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza};
efe780dcf13b2b95effabf897d694d8f23feac74trawickprint STDERR $@;
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrinmy $a = Fred ;
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrinEXPECT
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrinBareword "Fred" not allowed while "strict subs" in use at - line 6.
993d1261a278d7322bccef219101220b7b4fb8c5jkaluzaExecution of - aborted due to compilation errors.
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza########
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza
ba050a6f942b9fa0e81ed73437588005c569655ccovener# Check scope of pragma with eval
ba050a6f942b9fa0e81ed73437588005c569655ccoveneruse strict 'subs' ;
ba050a6f942b9fa0e81ed73437588005c569655ccovenereval {
ba050a6f942b9fa0e81ed73437588005c569655ccovener my $a = Fred ;
135ddda3a989215d2bedbcf1529bfb269c3eda23niq};
135ddda3a989215d2bedbcf1529bfb269c3eda23niqprint STDERR $@;
135ddda3a989215d2bedbcf1529bfb269c3eda23niqmy $a = Fred ;
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedoohEXPECT
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedoohBareword "Fred" not allowed while "strict subs" in use at - line 5.
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedoohBareword "Fred" not allowed while "strict subs" in use at - line 8.
efe780dcf13b2b95effabf897d694d8f23feac74trawickExecution of - aborted due to compilation errors.
793214f67dede32edfd9ee96c664ead04d175cbbjfclere########
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener# Check scope of pragma with eval
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecoveneruse strict 'subs' ;
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovenereval {
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza no strict ;
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza my $a = Fred ;
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza};
249d09d51808cb7981af99762c3b3736ca126cd5jkaluzaprint STDERR $@;
56589be3d7a3e9343370df240010c6928cc78b39jkaluzamy $a = Fred ;
56589be3d7a3e9343370df240010c6928cc78b39jkaluzaEXPECT
56589be3d7a3e9343370df240010c6928cc78b39jkaluzaBareword "Fred" not allowed while "strict subs" in use at - line 9.
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletcExecution of - aborted due to compilation errors.
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc########
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc# Check scope of pragma with eval
f87299dab99bc04b51a6b8cad51b6795db862c0atrawickno strict ;
f87299dab99bc04b51a6b8cad51b6795db862c0atrawickeval '
f87299dab99bc04b51a6b8cad51b6795db862c0atrawick Fred ;
4d12805e6c18253040223ea637acd6b3b3c18f60jorton'; print STDERR $@ ;
4d12805e6c18253040223ea637acd6b3b3c18f60jortonFred ;
4d12805e6c18253040223ea637acd6b3b3c18f60jortonEXPECT
85eacfc96a04547ef25aabbc06440039715084c2jorton
85eacfc96a04547ef25aabbc06440039715084c2jorton########
e5d909f2b06bd880fb3675cd49363df981caa631trawick
a4df2cd1e1391575a327c2a90ba4315f805a0a78covener# Check scope of pragma with eval
a4df2cd1e1391575a327c2a90ba4315f805a0a78covenerno strict ;
a4df2cd1e1391575a327c2a90ba4315f805a0a78covenereval q[
cb666b29f81df1d11d65002250153353568021fccovener use strict 'subs' ;
cb666b29f81df1d11d65002250153353568021fccovener Fred ;
cb666b29f81df1d11d65002250153353568021fccovener]; print STDERR $@;
6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0covenerEXPECT
1c2cab00d988fc48cbe59032cf76cc0bab20d6f7covenerBareword "Fred" not allowed while "strict subs" in use at (eval 1) line 3.
6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0covener########
75a230a728338d84dcfe81edd375352f34de22d0covener
75a230a728338d84dcfe81edd375352f34de22d0covener# Check scope of pragma with eval
75a230a728338d84dcfe81edd375352f34de22d0coveneruse strict 'subs' ;
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covenereval '
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covener Fred ;
1f50dc34ae069adeed20b2986e5ffdefa5c410e0covener'; print STDERR $@ ;
63a5ea80bddcc84a462e40f402b4f330e0e05411covenerEXPECT
63a5ea80bddcc84a462e40f402b4f330e0e05411covenerBareword "Fred" not allowed while "strict subs" in use at (eval 1) line 2.
63a5ea80bddcc84a462e40f402b4f330e0e05411covener########
63a5ea80bddcc84a462e40f402b4f330e0e05411covener
65a4e663b82f8bce28ac22ab2edfd7502de36998sf# Check scope of pragma with eval
65a4e663b82f8bce28ac22ab2edfd7502de36998sfuse strict 'subs' ;
65a4e663b82f8bce28ac22ab2edfd7502de36998sfeval '
65a4e663b82f8bce28ac22ab2edfd7502de36998sf no strict ;
c7de1955eb0eaeabf7042902476397692672d549sf my $a = Fred ;
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrin'; print STDERR $@;
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrinmy $a = Fred ;
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrinEXPECT
74e7f6c55fd67b10cb400b3f6d1dc718a303d944minfrinBareword "Fred" not allowed while "strict subs" in use at - line 8.
a511a29faf2ff7ead3b67680154a624effb31aafminfrinExecution of - aborted due to compilation errors.
a511a29faf2ff7ead3b67680154a624effb31aafminfrin########
a511a29faf2ff7ead3b67680154a624effb31aafminfrin
a511a29faf2ff7ead3b67680154a624effb31aafminfrin# see if Foo->Bar(...) etc work under strictures
a511a29faf2ff7ead3b67680154a624effb31aafminfrinuse strict;
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrinpackage Foo; sub Bar { print "@_\n" }
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrinFoo->Bar('a',1);
63921358ef93fcb41bc71d9894221ba3d7fbb87bminfrinBar Foo ('b',2);
deec48c67d4786bc77112ffbf3a4e70b931097edminfrinFoo->Bar(qw/c 3/);
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrinBar Foo (qw/d 4/);
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrinFoo::->Bar('A',1);
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrinBar Foo:: ('B',2);
6d601599d3d65df0410eae6e573e75b2dbfb1fb4minfrinFoo::->Bar(qw/C 3/);
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovenerBar Foo:: (qw/D 4/);
684e0cfc200f66287a93bbd1708d1dd8a92a7eefcovenerEXPECT
5c43d2fb853f84497b5ece2d414ef9484aa87e5fsfFoo a 1
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoesFoo b 2
05a5a9c3e16f21566e1b61f4bd68025ce1b741ccjoesFoo c 3
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niqFoo d 4
26c5829347f6a355c00f1ba0301d575056b69536niqFoo A 1
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niqFoo B 2
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niqFoo C 3
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niqFoo D 4
ef82e8fa164e0a1f8b813f7deb6b7ead96018c94niq