{"_id":"@6over3/zeroperl-ts","_rev":"12-551bf5b91bac4d02a048d6230fbd0107","name":"@6over3/zeroperl-ts","dist-tags":{"latest":"1.0.10"},"versions":{"0.0.1":{"name":"@6over3/zeroperl-ts","version":"0.0.1","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@0.0.1","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"b3a865c9c915544bd1bd71347f9e1aa82269f177","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-0.0.1.tgz","fileCount":30,"integrity":"sha512-Z1S9e9cuoBwhFoXy8SWkfuzuHhE3U7rlABqKTCcaxlYiNxpZuRm7Rb2uSj5lMfgAmIAJ8UisjlNcA+nyklPmPw==","signatures":[{"sig":"MEUCIFodd5HLjtmt+ke7hpWIchpjv2oGW0oxOu8Izi0uKkx4AiEA7mpW/qryjg+Wp3kvu/wFnho1S7UIkoexTbgDMn4QjdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57029860},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}}},"gitHead":"d0fd91e534e0dab8b80f92749a9758f00eebfffe","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"andrewmd5","email":"hi@andrew.im"},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.4.2","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.3.0","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_0.0.1_1763198734996_0.9504586810529398","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@6over3/zeroperl-ts","version":"1.0.0","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.0","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"89733b7d17463e613ebecd280efd2cd84fe6e057","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.0.tgz","fileCount":30,"integrity":"sha512-+6lisUNieunX7H2xiJ/oQaFUlAiNCX96ws2Ixpl1Z0FxrNjhLO5JJEWdk+URe/xeX/QP4+Pb81EBZ+kuL2hEAg==","signatures":[{"sig":"MEQCICuyeBuVXKTB5ynJdy6FOzpFEUGD5YntPDsEDxCBp/tqAiBTarhC2wwAjEnqlKNI/FPCdDalzy2eV4cIA2G7SrLPjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57029860},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}}},"gitHead":"d0fd91e534e0dab8b80f92749a9758f00eebfffe","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.2","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.0_1763198923120_0.5342296730931375","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@6over3/zeroperl-ts","version":"1.0.1","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.1","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"c3017e26b4b5024dff02cc5f645a066436b9af44","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.1.tgz","fileCount":30,"integrity":"sha512-AvZDBa0KTKxiNAkyI2m45BzjYJ5HpL1hLIdJFItO2t1Xy1Q1bw1cS89XAvX3HRlANA6xnmtyTCN3E/pzYrBvGQ==","signatures":[{"sig":"MEQCIDfJu9nPQqAgmod6+GCUtJ1Gucszz5gpJ+KxVh1UfZYvAiAJSKCNPeqU8PUu8++wahQNnE3W7VrLgmo7cXZ8VN3axw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57030335},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}}},"gitHead":"5bcb217cf906b69b88f2b7225f4d735c1645511f","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.2","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.1_1763201140287_0.4256174929076191","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@6over3/zeroperl-ts","version":"1.0.2","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.2","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"1aad311229852eed7d99b4395742331ae84d1f5d","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.2.tgz","fileCount":28,"integrity":"sha512-atymbs9CboOIXT0BrUkY0KxKzg1rIOoH6KNSe+AmvKNZFCqmisMpqRSCqCBqfeNzTjSsEgOW9nKIcMfBurdX9Q==","signatures":[{"sig":"MEYCIQDISnGp3zBy/h9kw/mOQb1N6m2jl1E2WmuxljEBo7h+YwIhAKVCy/2BHOzPDNzx0Pd9p6ygsz08WjJiM/HhQqeJnmBw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57167381},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}}},"gitHead":"d3df4cb9c957ab13881b56aa0d5c3d8c6da52a1e","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.2","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.2_1763204093368_0.9793916241214105","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@6over3/zeroperl-ts","version":"1.0.3","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.3","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"2d9127c2826c2de2283aa89739153fc2ad96f7b9","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.3.tgz","fileCount":28,"integrity":"sha512-5vX1aEqW636Q52R9TVq9NQ9NmP2UV7QBX1yRKrezuZmIya3m2vUaE+9rYye/LPgfP6/NIxqNRXAVcphLvzt2xw==","signatures":[{"sig":"MEYCIQCI4s8x1A32NyOac8TUVdlYLYESRCRjO0ZUVURm+UgHFgIhAKkOBDMfmq7zoNZS766GcfzeOGJIxCb4t0+0159LuMCt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57169663},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}}},"gitHead":"fcc45b13fa7716e085a9277ce50121fe839aebdd","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.2","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.3_1763205404996_0.11907776907400414","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@6over3/zeroperl-ts","version":"1.0.4","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.4","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"dace6eace45e9cc4ff362d13cc3b4534da461a48","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.4.tgz","fileCount":28,"integrity":"sha512-HkjnBSdWBj1EdCKaZu9tERPo/LDV4lMMrCd3Vl/mbBVuvz8+JDn3kG2yIprG8AD/WlAKg72lCM29h2FOYvIF8A==","signatures":[{"sig":"MEYCIQDSz23PnAdKZOb2unJXWZbOls5kpTaTAohfS4eBnMAfRwIhAN/LN6TM7W/LkNumoRJXJNkG0o4QHEzUzozbM5Ncd9HI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57169689},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}},"./zeroperl.wasm":{"import":"./dist/esm/zeroperl.wasm","require":"./dist/cjs/zeroperl.wasm"}},"gitHead":"3aa513026971e3634cb3dcb8002a9113be5cd893","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.2","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.4_1763207444527_0.2633358777944268","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@6over3/zeroperl-ts","version":"1.0.5","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.5","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"d2e778ae86b65968f168c0661c9ff460fdba9799","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.5.tgz","fileCount":28,"integrity":"sha512-ZBBxqXAzaj5VSNmq19averf7YcJIS7upn+WJTxGbeMTVIJvhos3vbF5w0Q5s1YJ2E7voR/lkCOCeENBdltuKqQ==","signatures":[{"sig":"MEYCIQDR/fTrZPy7phqsJE/jkeBrjs4i/yLJ8bI1wqSK9xDENAIhAIeifs+rnzzs/jvVdFOt+UdkicnfIW+7dPTSzDXO/vRP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":57355566},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}},"./zeroperl.wasm":{"import":"./dist/esm/zeroperl.wasm","require":"./dist/cjs/zeroperl.wasm"}},"gitHead":"05a336b1bfa8a227f79274eb8c9b10a76d1b6bd6","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.3","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.5_1763659795723_0.5281311447793458","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@6over3/zeroperl-ts","version":"1.0.6","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.6","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"4575101a816a3e9b157c14a225dc4f66a0861e63","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.6.tgz","fileCount":28,"integrity":"sha512-wB8tauqrD8qBg9Ct8PD27x07fWuqFyLLFSHCaldNgR1pwDdAqMPpTe5m3oMIHONUn5eJhEXLB0Z3yNpzpv2m7g==","signatures":[{"sig":"MEYCIQDXn84Q2tq1lJQ6OV+OeNiACERwv6V6v378HX0tnTIW8wIhALZR8jUC/bNOd5N7t/AcBES1sKv/O/l5cSPyZaBv4KVE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40475788},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}},"./zeroperl.wasm":{"import":"./dist/esm/zeroperl.wasm","require":"./dist/cjs/zeroperl.wasm"}},"gitHead":"ed5bbb71ad8ca2b59c850402f0b40be781570551","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.3","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.6_1763692067487_0.3793784046948647","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@6over3/zeroperl-ts","version":"1.0.7","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.7","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"e5dbe05924422f249149920fff51a16012c5f15e","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.7.tgz","fileCount":28,"integrity":"sha512-RssnvVjn83jcoaOk1zTVH8lJw1wzKL8sLABFFWI7rLwtGVfPgxDIXZHtFolRjjCBkPolDH5Ky6xgl+DCiMI9Rg==","signatures":[{"sig":"MEQCIHHdY4ooVTTbvKINaa6/IuSlXMEZaQqOWgoB8o4oNa71AiBhIJxIp2mq5tSn9kuqJ1zGZLARJSvfFYE/DJ5/DgLw2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49707740},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}},"./zeroperl.wasm":{"import":"./dist/esm/zeroperl.wasm","require":"./dist/cjs/zeroperl.wasm"}},"gitHead":"06af3a092eea8d1d04286d311fe5d431078241d7","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.3","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.7_1763694372089_0.1591629018843228","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@6over3/zeroperl-ts","version":"1.0.8","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.8","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"24bce1a30aa44a35c8a7c4ffc509863ff36a5e79","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.8.tgz","fileCount":28,"integrity":"sha512-DSPQT1l0YVQ2Sz5OUWwsw/l7s5BZDeUqyxhUAd0vDCMA9gtxotuF9w4ZnPovdWeEvG6WQ71EFNMCL9YwhOsK7w==","signatures":[{"sig":"MEUCIQDtR6xQ3nIV2Q+H1e1fKlQ9UKZUQ+ZW73NLgN7dG95WBwIgYCqdB8mHOkhw/5nslvmLKWlTITY93zCfH3pic+S6ebg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49711094},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}},"./zeroperl.wasm":{"import":"./dist/esm/zeroperl.wasm","require":"./dist/cjs/zeroperl.wasm"}},"gitHead":"5b7a276612dc6b297e5f85234bdaeac7b0f13b46","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.4","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.8_1764150239303_0.40808799911398874","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@6over3/zeroperl-ts","version":"1.0.9","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","_id":"@6over3/zeroperl-ts@1.0.9","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"homepage":"https://github.com/6over3/zeroperl-ts#readme","bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"dist":{"shasum":"5299c5f13786769d28ac6340541efe3eb6b5b0ee","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.9.tgz","fileCount":28,"integrity":"sha512-yWix04HDODE9/s5JncBfnjQKT48VHUvTzQJVYdwxjMFJSDD5oeXKoy5dk0Tnt/vdrNMGO4VI9GqoyX3t7gXa8Q==","signatures":[{"sig":"MEUCIQDmtWInqzHdgB9yS+52khRGAfpU0v5MGNccb+u3o//jRgIgK6TbB2M1HYPUt2S2RRqbtGDDtKd9X9BGcMdS45skxcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51103305},"main":"./dist/cjs/index.cjs","type":"module","types":"dist/esm/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}},"./zeroperl.wasm":{"import":"./dist/esm/zeroperl.wasm","require":"./dist/cjs/zeroperl.wasm"}},"gitHead":"bb7c4421255f64a4a0edc1c2ad4c305641de4a1c","scripts":{"test":"bun test","build":"npm run build:esm && npm run build:cjs && bun build.ts","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"repository":{"url":"git+https://github.com/6over3/zeroperl-ts.git","type":"git"},"_npmVersion":"11.6.4","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","directories":{},"_nodeVersion":"24.11.1","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/zeroperl-ts_1.0.9_1764768948493_0.25334228069277476","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@6over3/zeroperl-ts","version":"1.0.10","description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","scripts":{"build":"npm run build:esm && npm run build:cjs && bun build.ts","build:esm":"tsc --emitDeclarationOnly -p tsconfig.esm.json","build:cjs":"tsc --emitDeclarationOnly -p tsconfig.cjs.json","test":"bun test"},"main":"./dist/cjs/index.cjs","module":"./dist/esm/index.js","typesVersions":{"*":{"cjs":["./dist/cjs/types/index.d.ts"],"esm":["./dist/esm/types/index.d.ts"]}},"exports":{".":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./esm":{"import":{"types":"./dist/esm/types/index.d.ts","default":"./dist/esm/index.js"}},"./cjs":{"require":{"types":"./dist/cjs/types/index.d.ts","default":"./dist/cjs/index.cjs"}},"./zeroperl.wasm":{"import":"./dist/esm/zeroperl.wasm","require":"./dist/cjs/zeroperl.wasm"}},"keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"author":{"name":"6over3"},"license":"Apache-2.0","type":"module","types":"dist/esm/types/index.d.ts","homepage":"https://github.com/6over3/zeroperl-ts#readme","repository":{"type":"git","url":"git+https://github.com/6over3/zeroperl-ts.git"},"bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"devDependencies":{"@types/bun":"^1.3.2","typescript":"^5.7.3"},"gitHead":"5e12fb86cebf09795c32befa390718b3d8ddd3e7","_id":"@6over3/zeroperl-ts@1.0.10","_nodeVersion":"24.11.1","_npmVersion":"11.6.4","dist":{"integrity":"sha512-d7fBgN1UaP9BR6kZMyNsjIrxPd0QLqqx29VSprhK66m1csm/7E/anr+rEfp3gJDSne5FfDpM6aKtDGHyXG/vYQ==","shasum":"46486daa35de6b259a381259e891a695c5795e79","tarball":"https://registry.npmjs.org/@6over3/zeroperl-ts/-/zeroperl-ts-1.0.10.tgz","fileCount":28,"unpackedSize":51262420,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@6over3%2fzeroperl-ts@1.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD6gyyiRUfAx1HuzE0uefL0YB+r2jZqWmCXQqrtJdK6XwIgN31nOxEUNPE/Q2bvvQ5AndKFMXaSMe+tTHphfxmeeRc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:83645a2c-7952-421f-a3e1-86dfcb494e6c"}},"directories":{},"maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zeroperl-ts_1.0.10_1764899875120_0.8656195372600928"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-15T09:25:34.904Z","modified":"2025-12-05T01:57:56.160Z","0.0.1":"2025-11-15T09:25:35.527Z","1.0.0":"2025-11-15T09:28:43.517Z","1.0.1":"2025-11-15T10:05:40.788Z","1.0.2":"2025-11-15T10:54:53.817Z","1.0.3":"2025-11-15T11:16:45.407Z","1.0.4":"2025-11-15T11:50:44.922Z","1.0.5":"2025-11-20T17:29:56.157Z","1.0.6":"2025-11-21T02:27:47.916Z","1.0.7":"2025-11-21T03:06:12.478Z","1.0.8":"2025-11-26T09:43:59.744Z","1.0.9":"2025-12-03T13:35:48.859Z","1.0.10":"2025-12-05T01:57:55.718Z"},"bugs":{"url":"https://github.com/6over3/zeroperl-ts/issues"},"author":{"name":"6over3"},"license":"Apache-2.0","homepage":"https://github.com/6over3/zeroperl-ts#readme","keywords":["perl","perl5","interpreter","wasm","webassembly","browser","node","typescript","javascript","scripting","zeroperl","wasi","universal","runtime"],"repository":{"type":"git","url":"git+https://github.com/6over3/zeroperl-ts.git"},"description":"Perl 5 interpreter powered by WebAssembly for JavaScript runtimes","maintainers":[{"name":"andrewmd5","email":"hi@andrew.im"}],"readme":"# zeroperl-ts\n\nPerl 5 compiled to WebAssembly. Run Perl scripts in the browser or other JavaScript environments without installing Perl.\n\nBuilt on [zeroperl](https://github.com/6over3/zeroperl).\n\n## Features\n\n- Runs Perl 5 in browser, Node.js, Deno, and Bun\n- Virtual filesystem for script and data files\n- Bidirectional data exchange between JavaScript and Perl\n- Register JavaScript functions callable from Perl\n- Call Perl functions from JavaScript\n- Environment variable support\n- Output capture (stdout/stderr)\n- TypeScript type definitions included\n\n## Installation\n\n```bash\nnpm install @6over3/zeroperl-ts\n# or\nbun add @6over3/zeroperl-ts\n```\n\nOr, for [Browser Usage](#browser-usage), copy the zeroperl WASM binary to your local website (to avoid CORS errors).\n\n```bash\n# The -L option allows the CDN to redirect to the latest version\ncurl -L -O https://esm.sh/@6over3/zeroperl-ts/zeroperl.wasm\n```\n\n## Quick Start\n\n```typescript\nimport { ZeroPerl } from '@6over3/zeroperl-ts';\n\nconst perl = await ZeroPerl.create();\nawait perl.eval('print \"Hello, World!\\\\n\"');\nperl.flush(); // Required to see output\nperl.dispose();\n```\n\n## Output Buffering\n\nPerl buffers output by default. Choose one approach:\n\n**Option 1: Call `flush()` after printing**\n```typescript\nawait perl.eval('print \"Hello!\\\\n\"');\nperl.flush();\n```\n\n**Option 2: Enable autoflush in Perl**\n```typescript\nawait perl.eval(`\n  $| = 1;  # Enable autoflush\n  print \"Hello!\\\\n\";\n`);\n```\n\n## Basic Usage\n\n### Evaluating Perl Code\n\n```typescript\nimport { ZeroPerl } from '@6over3/zeroperl-ts';\n\nconst perl = await ZeroPerl.create();\n\nconst result = await perl.eval(`\n  $| = 1;\n  my $x = 42;\n  print \"The answer is $x\\\\n\";\n`);\n\nif (!result.success) {\n  console.error('Error:', result.error);\n}\n\nperl.dispose();\n```\n\n### Capturing Output\n\n```typescript\nlet output = '';\n\nconst perl = await ZeroPerl.create({\n  stdout: (data) => {\n    output += typeof data === 'string' ? data : new TextDecoder().decode(data);\n  }\n});\n\nawait perl.eval(`\n  $| = 1;\n  print \"Line 1\\\\n\";\n  print \"Line 2\\\\n\";\n`);\n\nconsole.log(output);\n// Output:\n// Line 1\n// Line 2\n\nperl.dispose();\n```\n\n### Exchanging Data\n\n```typescript\nconst perl = await ZeroPerl.create();\n\n// JavaScript to Perl\nperl.setVariable('name', 'Alice');\nperl.setVariable('age', 30);\n\nawait perl.eval(`\n  $| = 1;\n  print \"Name: $name\\\\n\";\n  print \"Age: $age\\\\n\";\n`);\n\n// Perl to JavaScript\nawait perl.eval('$result = 2 + 2');\nconst result = perl.getVariable('result');\nconsole.log(result.toInt()); // 4\n\nresult.dispose();\nperl.dispose();\n```\n\n### Working with Arrays and Hashes\n\n```typescript\nconst perl = await ZeroPerl.create();\n\n// Create array\nconst arr = perl.createArray([1, 2, 3, 'hello']);\nperl.setVariable('myarray', arr.toValue());\n\n// Create hash\nconst hash = perl.createHash({\n  name: 'Alice',\n  age: 30,\n  active: true\n});\nperl.setVariable('user', hash.toValue());\n\nawait perl.eval(`\n  $| = 1;\n  print \"Array length: \", scalar(@$myarray), \"\\\\n\";\n  print \"User: $user->{name}, Age: $user->{age}\\\\n\";\n`);\n\n// Convert back to JavaScript\nconst jsArray = arr.project(); // [1, 2, 3, 'hello']\nconst jsObject = hash.project(); // { name: 'Alice', age: 30, active: true }\n\narr.dispose();\nhash.dispose();\nperl.dispose();\n```\n\n### Command-Line Arguments\n\n```typescript\nconst perl = await ZeroPerl.create();\n\nawait perl.eval(`\n  $| = 1;\n  print \"Arguments: @ARGV\\\\n\";\n  foreach my $arg (@ARGV) {\n    print \"  $arg\\\\n\";\n  }\n`, ['foo', 'bar', 'baz']);\n\nperl.dispose();\n```\n\n## Working with Files\n\n### Creating a Virtual Filesystem\n\n```typescript\nimport { ZeroPerl, MemoryFileSystem } from '@6over3/zeroperl-ts';\n\nconst fs = new MemoryFileSystem({ \"/\": \"\" });\n\nfs.addFile(\"/data.txt\", \"Hello from a file!\");\nfs.addFile(\"/script.pl\", `\n  $| = 1;\n  open my $fh, '<', '/data.txt' or die $!;\n  while (my $line = <$fh>) {\n    print \"Read: $line\";\n  }\n  close $fh;\n`);\n\nconst perl = await ZeroPerl.create({ fileSystem: fs });\n\nawait perl.runFile('/script.pl');\n\nperl.dispose();\n```\n\n### Running Scripts with Arguments\n\n```typescript\nconst fs = new MemoryFileSystem({ \"/\": \"\" });\nfs.addFile(\"/greet.pl\", `\n  $| = 1;\n  my ($name, $greeting) = @ARGV;\n  print \"$greeting, $name!\\\\n\";\n`);\n\nconst perl = await ZeroPerl.create({ fileSystem: fs });\n\nawait perl.runFile('/greet.pl', ['Alice', 'Hello']);\n// Output: Hello, Alice!\n\nperl.dispose();\n```\n\n### Reading and Writing Files\n\n```typescript\nconst fs = new MemoryFileSystem({ \"/\": \"\" });\n\nconst perl = await ZeroPerl.create({ fileSystem: fs });\n\n// Write from Perl\nawait perl.eval(`\n  $| = 1;\n  open my $fh, '>', '/output.txt' or die $!;\n  print $fh \"Generated content\\\\n\";\n  close $fh;\n  print \"File written!\\\\n\";\n`);\n\n// Read from JavaScript\nconst content = fs.readFile('/output.txt');\nconsole.log(content); // \"Generated content\\n\"\n\nperl.dispose();\n```\n\n## Advanced Usage\n\n### Registering JavaScript Functions\n\nRegister JavaScript functions that can be called from Perl:\n\n```typescript\nconst perl = await ZeroPerl.create();\n\nperl.registerFunction('add', (a, b) => {\n  const x = a.toInt();\n  const y = b.toInt();\n  return perl.createInt(x + y);\n});\n\nawait perl.eval(`\n  $| = 1;\n  my $sum = add(10, 32);\n  print \"Sum: $sum\\\\n\";\n`);\n\nperl.dispose();\n```\n\n### Registering JavaScript Methods\n\n```typescript\nconst perl = await ZeroPerl.create();\n\nperl.registerMethod('Math', 'square', (x) => {\n  const num = x.toInt();\n  return perl.createInt(num * num);\n});\n\nawait perl.eval(`\n  $| = 1;\n  my $result = Math::square(7);\n  print \"Square: $result\\\\n\";\n`);\n\nperl.dispose();\n```\n\n### Calling Perl Functions from JavaScript\n\n```typescript\nconst perl = await ZeroPerl.create();\n\nawait perl.eval(`\n  sub greet {\n    my ($name) = @_;\n    return \"Hello, $name!\";\n  }\n\n  sub get_values {\n    return (1, 2, 3);\n  }\n`);\n\n// Scalar context (single return value)\nconst arg = perl.createString(\"Alice\");\nconst greeting = await perl.call(\"greet\", [arg], \"scalar\");\nconsole.log(greeting?.toString()); // \"Hello, Alice!\"\n\n// List context (multiple return values)\nconst values = await perl.call(\"get_values\", [], \"list\");\nconsole.log(values.map(v => v.toInt())); // [1, 2, 3]\n\n// Void context (no return value)\nawait perl.call(\"some_sub\", [], \"void\");\n\narg.dispose();\ngreeting?.dispose();\nfor (const v of values) v.dispose();\nperl.dispose();\n```\n\n### Error Handling\n\n```typescript\nconst perl = await ZeroPerl.create();\n\nconst result = await perl.eval(`\n  die \"Something went wrong!\";\n`);\n\nif (!result.success) {\n  console.log('Exit code:', result.exitCode);\n  console.log('Error:', result.error);\n}\n\n// Get error directly\nconst error = perl.getLastError();\nconsole.log(error); // \"Something went wrong! at ...\"\n\n// Clear error\nperl.clearError();\n\nperl.dispose();\n```\n\n### Environment Variables\n\n```typescript\nconst perl = await ZeroPerl.create({\n  env: {\n    API_KEY: 'secret123',\n    DEBUG: 'true'\n  }\n});\n\nawait perl.eval(`\n  $| = 1;\n  print \"API Key: $ENV{API_KEY}\\\\n\";\n  print \"Debug: $ENV{DEBUG}\\\\n\";\n`);\n\nperl.dispose();\n```\n\n### Resetting State\n\n```typescript\nconst perl = await ZeroPerl.create();\n\nawait perl.eval('$counter = 1');\nconst val1 = perl.getVariable('counter');\nconsole.log(val1?.toInt()); // 1\n\nawait perl.reset();\n\nconst val2 = perl.getVariable('counter');\nconsole.log(val2); // null\n\nval1?.dispose();\nperl.dispose();\n```\n\n### Progressive Output\n\n```typescript\nconst perl = await ZeroPerl.create({\n  stdout: (data) => process.stdout.write(data)\n});\n\nfor (let i = 0; i < 5; i++) {\n  await perl.eval('print \".\"');\n  perl.flush();\n  await new Promise(r => setTimeout(r, 500));\n}\n\nperl.dispose();\n```\n\n## Browser Usage\n\n**With bundler (recommended):**\n\n```typescript\nimport { ZeroPerl } from '@6over3/zeroperl-ts';\nimport zeroperl from '@6over3/zeroperl-ts/zeroperl.wasm';\n\nconst perl = await ZeroPerl.create({\n  fetch: () => fetch(zeroperl),\n  stdout: (data) => console.log(data)\n});\n\nawait perl.eval(`\n  $| = 1;\n  print \"Hello from Perl!\\\\n\";\n  print \"Running in: $^O\\\\n\";\n`);\n\nperl.dispose();\n```\n\nNote: Most bundlers should copy the WASM file when imported explicitly. If your bundler doesn't handle this, configure it to copy static assets or use the CDN approach below.\n\n**From CDN:**\n\n```html\n<!DOCTYPE html>\n<html>\n<body>\n  <div id=\"output\"></div>\n  \n  <script type=\"module\">\n    import { ZeroPerl } from 'https://esm.sh/@6over3/zeroperl-ts';\n    \n    const output = document.getElementById('output');\n    \n    const perl = await ZeroPerl.create({\n      stdout: (data) => {\n        const text = typeof data === 'string' ? data : new TextDecoder().decode(data);\n        output.innerHTML += text.replace(/\\n/g, '<br>');\n      }\n    });\n    \n    await perl.eval(`\n      $| = 1;\n      print \"Hello from Perl!\\\\n\";\n      print \"Running in: $^O\\\\n\";\n    `);\n\n    perl.dispose();\n  </script>\n</body>\n</html>\n```\n\n## API Reference\n\n### `ZeroPerl.create(options?)`\n\nCreate a new Perl interpreter instance.\n\n**Options:**\n- `env` - Environment variables (Record<string, string>)\n- `fileSystem` - Virtual filesystem (MemoryFileSystem)\n- `stdout` - stdout callback ((data: string | Uint8Array) => void)\n- `stderr` - stderr callback ((data: string | Uint8Array) => void)\n- `fetch` - Custom fetch for WASM loading\n\n```typescript\nconst perl = await ZeroPerl.create({\n  env: { KEY: 'value' },\n  fileSystem: fs,\n  stdout: (data) => console.log(data),\n  stderr: (data) => console.error(data)\n});\n```\n\n### `perl.eval(code, args?)`\n\nEvaluate Perl code. Returns `{ success: boolean, error?: string, exitCode: number }`.\n\n```typescript\nconst result = await perl.eval('print \"Hello\\\\n\"', ['arg1', 'arg2']);\n```\n\n### `perl.runFile(path, args?)`\n\nRun a Perl script from the virtual filesystem.\n\n```typescript\nawait perl.runFile('/script.pl', ['arg1', 'arg2']);\n```\n\n### `perl.createInt(value)`, `perl.createDouble(value)`, `perl.createString(value)`, `perl.createBool(value)`, `perl.createUndef()`\n\nCreate Perl values. Returns `PerlValue`.\n\n```typescript\nconst num = perl.createInt(42);\nconst str = perl.createString(\"hello\");\nconst bool = perl.createBool(true);\n```\n\n### `perl.createArray(values?)`, `perl.createHash(object?)`\n\nCreate Perl arrays and hashes. Returns `PerlArray` or `PerlHash`.\n\n```typescript\nconst arr = perl.createArray([1, 2, 3]);\nconst hash = perl.createHash({ key: 'value' });\n```\n\n### `perl.toPerlValue(value)`\n\nConvert JavaScript value to Perl. Handles primitives, arrays, and objects.\n\n```typescript\nconst perlVal = perl.toPerlValue({ name: 'Alice', age: 30 });\n```\n\n### `perl.setVariable(name, value)`, `perl.getVariable(name)`\n\nSet and get scalar variables. Variable names should not include the `$` prefix.\n\n```typescript\nperl.setVariable('x', 42);\nconst x = perl.getVariable('x');\nconsole.log(x?.toInt()); // 42\n```\n\n### `perl.getArrayVariable(name)`, `perl.getHashVariable(name)`\n\nGet array and hash variables. Returns `PerlArray` or `PerlHash`.\n\n```typescript\nconst arr = perl.getArrayVariable('myarray');\nconst hash = perl.getHashVariable('myhash');\n```\n\n### `perl.registerFunction(name, fn)`\n\nRegister a JavaScript function callable from Perl.\n\n```typescript\nperl.registerFunction('add', (a, b) => {\n  const x = a.toInt();\n  const y = b.toInt();\n  return perl.createInt(x + y);\n});\n```\n\n### `perl.registerMethod(packageName, methodName, fn)`\n\nRegister a JavaScript method callable from Perl.\n\n```typescript\nperl.registerMethod('Math', 'square', (x) => {\n  const num = x.toInt();\n  return perl.createInt(num * num);\n});\n```\n\n### `perl.call(name, args, context?)`\n\nCall a Perl function. Context can be `\"void\"`, `\"scalar\"`, or `\"list\"`.\n\n```typescript\nconst result = await perl.call('my_sub', [arg1, arg2], 'scalar');\nconst results = await perl.call('my_sub', [], 'list');\nawait perl.call('my_sub', [], 'void');\n```\n\n### `perl.flush()`\n\nFlush output buffers. Required if autoflush (`$| = 1`) is not set.\n\n```typescript\nawait perl.eval('print \"text\"');\nperl.flush();\n```\n\n### `perl.reset()`\n\nReset interpreter to clean state. Clears all variables.\n\n```typescript\nawait perl.reset();\n```\n\n### `perl.getLastError()`, `perl.clearError()`\n\nGet and clear the Perl error state (`$@`).\n\n```typescript\nconst error = perl.getLastError();\nperl.clearError();\n```\n\n### `perl.isInitialized()`, `perl.canEvaluate()`\n\nCheck interpreter state.\n\n```typescript\nconst ready = perl.isInitialized() && perl.canEvaluate();\n```\n\n### `perl.dispose()`, `perl.shutdown()`\n\nFree resources. Use `dispose()` for normal cleanup, `shutdown()` for complete termination.\n\n```typescript\nperl.dispose();\n// or\nperl.shutdown();\n```\n\n### PerlValue Methods\n\n- `toInt()` - Convert to 32-bit integer\n- `toDouble()` - Convert to double-precision float\n- `toString()` - Convert to UTF-8 string\n- `toBoolean()` - Convert to boolean (Perl truth test)\n- `isUndef()` - Check if undefined\n- `isRef()` - Check if reference\n- `getType()` - Get Perl type\n- `project()` - Convert to JavaScript primitive\n- `createRef()` - Create reference\n- `deref()` - Dereference value\n- `dispose()` - Free memory\n\n### PerlArray Methods\n\n- `push(value)` - Add to end\n- `pop()` - Remove from end\n- `get(index)` - Get value at index\n- `set(index, value)` - Set value at index\n- `getLength()` - Get array length\n- `clear()` - Remove all elements\n- `toValue()` - Convert to PerlValue (array reference)\n- `project()` - Convert to JavaScript array\n- `[Symbol.iterator]()` - Iterate over values\n- `dispose()` - Free memory\n\n### PerlHash Methods\n\n- `set(key, value)` - Set key-value pair\n- `get(key)` - Get value by key\n- `has(key)` - Check if key exists\n- `delete(key)` - Delete key\n- `clear()` - Remove all entries\n- `toValue()` - Convert to PerlValue (hash reference)\n- `project()` - Convert to JavaScript object\n- `entries()` - Iterate over key-value pairs\n- `keys()` - Iterate over keys\n- `values()` - Iterate over values\n- `dispose()` - Free memory\n\n## Examples\n\n### Processing JSON\n\n```typescript\nimport { ZeroPerl, MemoryFileSystem } from '@6over3/zeroperl-ts';\n\nconst fs = new MemoryFileSystem({ \"/\": \"\" });\nfs.addFile(\"/data.json\", JSON.stringify({ users: ['Alice', 'Bob'] }));\nfs.addFile(\"/process.pl\", `\n  $| = 1;\n  use strict;\n  use warnings;\n  \n  open my $fh, '<', '/data.json' or die $!;\n  my $json = do { local $/; <$fh> };\n  close $fh;\n  \n  print \"Processing: $json\\\\n\";\n`);\n\nconst perl = await ZeroPerl.create({ fileSystem: fs });\nawait perl.runFile('/process.pl');\nperl.dispose();\n```\n\n### Interactive REPL\n\n```typescript\nconst perl = await ZeroPerl.create({\n  stdout: (data) => console.log(data)\n});\n\nawait perl.eval('$| = 1');\n\nawait perl.eval('$x = 10');\nawait perl.eval('print \"$x\\\\n\"');\nawait perl.eval('$x *= 2');\nawait perl.eval('print \"$x\\\\n\"');\n\nperl.dispose();\n```\n\n### Complex Data Structures\n\n```typescript\nconst perl = await ZeroPerl.create();\n\nperl.setVariable('config', {\n  server: {\n    host: 'localhost',\n    port: 8080\n  },\n  features: ['auth', 'logging']\n});\n\nawait perl.eval(`\n  $| = 1;\n  print \"Host: $config->{server}{host}\\\\n\";\n  print \"Port: $config->{server}{port}\\\\n\";\n  print \"Features: @{$config->{features}}\\\\n\";\n`);\n\nperl.dispose();\n```\n\n## Development\n\n```bash\nnpm i              # Install dependencies\nbun run build      # Build distributions\nbun test           # Run tests\n```\n\n## License\n\nApache-2.0\n\n## About\n\nZeroPerl compiles Perl 5 to WebAssembly using a WASI-compliant implementation. This package provides a TypeScript/JavaScript API for the [ZeroPerl](https://github.com/6over3/zeroperl) WASM module.","readmeFilename":"README.md"}